Improve example to gracefully handle imporoper use of dsl

git-svn-id: https://svn.apache.org/repos/asf/ode/trunk@1435620 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/test/java/org/apache/ode/jacob/examples/synch/SynchPrinter.java b/src/test/java/org/apache/ode/jacob/examples/synch/SynchPrinter.java
index fce098a..d2482fe 100644
--- a/src/test/java/org/apache/ode/jacob/examples/synch/SynchPrinter.java
+++ b/src/test/java/org/apache/ode/jacob/examples/synch/SynchPrinter.java
@@ -65,6 +65,7 @@
                 .order("1")
                 .and().then().order("2")
                 .and().then().order("3")
+                .and().then().and().then().and().then().and().then()
                 .and().no().andthen();
         }
 
@@ -94,6 +95,9 @@
                 return this;
             }
             public PrinterProcess then() {
+                if (message == null) {
+                    return this;
+                }
                 next = new PrinterProcess(printer, this);
                 return next;
             }
@@ -106,14 +110,16 @@
 
             @Override
             public void run() {
-                object(receive(printer.print(message), new Synch() {
-                    private static final long serialVersionUID = 1L;
-                    public void ret() {
-                        if (next != null) {
-                            next.run();
+                if (message != null) {
+                    object(receive(printer.print(message), new Synch() {
+                        private static final long serialVersionUID = 1L;
+                        public void ret() {
+                            if (next != null) {
+                                next.run();
+                            }
                         }
-                    }
-                }));
+                    }));
+                }
             }
         }
     }