Index: /branches/autoquest-core-tasktrees-alignment/src/main/java/de/ugoe/cs/autoquest/tasktrees/temporalrelation/RuleUtils.java
===================================================================
--- /branches/autoquest-core-tasktrees-alignment/src/main/java/de/ugoe/cs/autoquest/tasktrees/temporalrelation/RuleUtils.java	(revision 1693)
+++ /branches/autoquest-core-tasktrees-alignment/src/main/java/de/ugoe/cs/autoquest/tasktrees/temporalrelation/RuleUtils.java	(revision 1694)
@@ -168,5 +168,4 @@
 					}				
 			} else if (tempTask.getType() == "selection") {
-				
 				ISelectionInstance selection = taskFactory.createNewTaskInstance((ISelection) tempTask);
 				ISelection tmpSel = (ISelection)tempTask;
@@ -174,6 +173,6 @@
 					System.out.println("Adding SequenceInstance " + parent.get(startIndex) + " to " + tempTask);
 					ISequenceInstance selseq = null;
-					System.out.println("IDS: " + parent.get(startIndex).getTask().getId() + " " +((ISequence)tmpSel.getChildren().get(0)).getChildren().get(0).getId());
-					System.out.println("IDS: " + parent.get(startIndex).getTask().getId() + " " +((ISequence)tmpSel.getChildren().get(1)).getChildren().get(0).getId());
+					//System.out.println("IDS: " + parent.get(startIndex).getTask().getId() + " " +((ISequence)tmpSel.getChildren().get(0)).getChildren().get(0).getId());
+					//System.out.println("IDS: " + parent.get(startIndex).getTask().getId() + " " +((ISequence)tmpSel.getChildren().get(1)).getChildren().get(0).getId());
 					if(parent.get(startIndex).getTask().getId() == ((ISequence)tmpSel.getChildren().get(0)).getChildren().get(0).getId()) {
 						selseq = taskFactory.createNewTaskInstance((ISequence) tmpSel.getChildren().get(0));
@@ -182,10 +181,10 @@
 						selseq = taskFactory.createNewTaskInstance((ISequence) tmpSel.getChildren().get(1));
 					}
-					else {
-						//throw new Exception("Error while creating subsequence of a selection");
+					else if(parent.get(startIndex).getTask().getId() == tmpSel.getChildren().get(0).getId() || parent.get(startIndex).getTask().getId() == tmpSel.getChildren().get(1).getId() ) {
+						selseq = (ISequenceInstance) parent.get(startIndex);
+						taskBuilder.setChild(selection, selseq);
+						continue;
+					}
 						
-						System.out.println("Error while creating subsequence of a selection");
-					}
-					
 					for (int k=0;k<selseq.getSequence().getChildren().size();k++) {
 						taskBuilder.addChild(selseq,parent.get(startIndex));
@@ -204,8 +203,8 @@
 			} else if (tempTask.getType() == "sequence") {
 				System.out.println("Adding SequenceInstance " + parent.get(startIndex) + " to " + tempTask);
-				ISequenceInstance sequence = taskFactory.createNewTaskInstance((ISequence) tempTask);
-				taskBuilder.addChild(sequence, parent.get(i));
-				taskBuilder.addChild(subsequence,sequence);
-				//taskBuilder.addChild(subsequence, parent.get(startIndex));
+				//ISequenceInstance sequence = taskFactory.createNewTaskInstance((ISequence) tempTask);
+				//taskBuilder.addChild(sequence, parent.get(i));
+				//taskBuilder.addChild(subsequence,sequence);
+				taskBuilder.addChild(subsequence, parent.get(startIndex));
 			} else if (tempTask.getType() == "iteration") {
 				System.out.println("Adding IterationInstance " + parent.get(startIndex) + " to " + tempTask);
