diff --git a/test22/src/main/java/org/apache/myfaces/test/mock/MockFlowHandler.java b/test22/src/main/java/org/apache/myfaces/test/mock/MockFlowHandler.java
index d6cf8fd..e750e2c 100644
--- a/test22/src/main/java/org/apache/myfaces/test/mock/MockFlowHandler.java
+++ b/test22/src/main/java/org/apache/myfaces/test/mock/MockFlowHandler.java
@@ -60,27 +60,28 @@
     }
 
     @Override
-    public void transition(FacesContext context, Flow sourceFlow, Flow targetFlow, FlowCallNode outboundCallNode, String toViewId) {
-        throw new UnsupportedOperationException("Not supported yet.");
+    public void transition(FacesContext context, Flow sourceFlow, Flow targetFlow, FlowCallNode outboundCallNode, String toViewId)
+    {
     }
 
     @Override
-    public void clientWindowTransition(FacesContext context) {
-        throw new UnsupportedOperationException("Not supported yet.");
+    public void clientWindowTransition(FacesContext context)
+    {
     }
 
     @Override
-    public String getLastDisplayedViewId(FacesContext context) {
-        throw new UnsupportedOperationException("Not supported yet.");
+    public String getLastDisplayedViewId(FacesContext context)
+    {
+        return null;
     }
 
     @Override
-    public void pushReturnMode(FacesContext context) {
-        throw new UnsupportedOperationException("Not supported yet.");
+    public void pushReturnMode(FacesContext context)
+    {
     }
 
     @Override
-    public void popReturnMode(FacesContext context) {
-        throw new UnsupportedOperationException("Not supported yet.");
+    public void popReturnMode(FacesContext context)
+    {
     }
 }
