Index: trunk/autoquest-core-tasktrees/src/main/java/de/ugoe/cs/autoquest/tasktrees/treeimpl/Selection.java
===================================================================
--- trunk/autoquest-core-tasktrees/src/main/java/de/ugoe/cs/autoquest/tasktrees/treeimpl/Selection.java	(revision 1541)
+++ trunk/autoquest-core-tasktrees/src/main/java/de/ugoe/cs/autoquest/tasktrees/treeimpl/Selection.java	(revision 1764)
@@ -46,5 +46,5 @@
 
     /* (non-Javadoc)
-     * @see de.ugoe.cs.autoquest.tasktrees.treeimpl.StructuringTemporalRelationship#clone()
+     * @see StructuringTemporalRelationship#clone()
      */
     @Override
@@ -54,16 +54,24 @@
 
     /* (non-Javadoc)
-     * @see de.ugoe.cs.autoquest.tasktrees.treeimpl.StructuringTemporalRelationship#addChild(ITask)
+     * @see StructuringTemporalRelationship#addChild(ITask)
      */
     @Override
     void addChild(ITask newChild) {
+        if (newChild instanceof ISelection) {
+            throw new IllegalArgumentException("the child of a selection must not be a selection");
+        }
+        
         super.addChild(newChild);
     }
 
     /* (non-Javadoc)
-     * @see de.ugoe.cs.autoquest.tasktrees.treeimpl.StructuringTemporalRelationship#addChild(int,ITask)
+     * @see StructuringTemporalRelationship#addChild(int,ITask)
      */
     @Override
     void addChild(int index, ITask newChild) {
+        if (newChild instanceof ISelection) {
+            throw new IllegalArgumentException("the child of a selection must not be a selection");
+        }
+
         super.addChild(index, newChild);
     }
