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 1679)
+++ /branches/autoquest-core-tasktrees-alignment/src/main/java/de/ugoe/cs/autoquest/tasktrees/temporalrelation/RuleUtils.java	(revision 1680)
@@ -149,6 +149,7 @@
 			} else if (tempTask.getType() == "sequence") {
 				System.out.println("Adding SequenceInstance " + parent.get(startIndex) + " to " + tempTask.getType());
-				ISequenceInstance sequence = taskFactory.createNewTaskInstance((ISequence) tempTask);
-				taskBuilder.addChild(sequence,parent.get(startIndex));
+				//ISequenceInstance sequence = taskFactory.createNewTaskInstance((ISequence) tempTask);
+				taskBuilder.addChild(subsequence,parent.get(startIndex));
+				//taskBuilder.addChild(subsequence, sequence);
 				
 			} else if (tempTask.getType() == "iteration") {
Index: /branches/autoquest-core-tasktrees-alignment/src/main/java/de/ugoe/cs/autoquest/tasktrees/temporalrelation/SequenceForTaskDetectionRuleAlignment.java
===================================================================
--- /branches/autoquest-core-tasktrees-alignment/src/main/java/de/ugoe/cs/autoquest/tasktrees/temporalrelation/SequenceForTaskDetectionRuleAlignment.java	(revision 1679)
+++ /branches/autoquest-core-tasktrees-alignment/src/main/java/de/ugoe/cs/autoquest/tasktrees/temporalrelation/SequenceForTaskDetectionRuleAlignment.java	(revision 1680)
@@ -68,4 +68,6 @@
 class SequenceForTaskDetectionRuleAlignment implements ISessionScopeRule {
 
+	
+	private int iteration = 0;
 	/**
 	 * <p>
@@ -148,14 +150,15 @@
 
 		
-		appData.detectedAndReplacedTasks = false;
 		do {
+			iteration++;
+			appData.detectedAndReplacedTasks = false;
 			harmonizeEventTaskInstancesModel(appData);
-			appData.getStopWatch().start("whole loop"); //
-			// detectAndReplaceIterations(appData);
-			appData.getStopWatch().start("task replacement"); //
+			appData.getStopWatch().start("whole loop"); 
+			detectAndReplaceIterations(appData);
+			appData.getStopWatch().start("task replacement"); 
 			detectAndReplaceTasks(appData); //
-			appData.getStopWatch().stop("task replacement"); //
+			appData.getStopWatch().stop("task replacement"); 
 			appData.getStopWatch().stop("whole loop");
-			appData.getStopWatch().dumpStatistics(System.out); //
+			appData.getStopWatch().dumpStatistics(System.out); 
 			appData.getStopWatch().reset();
 
@@ -185,10 +188,10 @@
 			for (int j = 0; j < session.size(); j++) {
 				ITaskInstance taskInstance = session.get(j);
-				System.out.print(taskInstance.getTask().getId() + " ");
+				//System.out.print(taskInstance.getTask().getId() + " ");
 				templist.getSequence()[j] = taskInstance.getTask().getId();
 				appData.getNumber2Task().put(templist.getSequence()[j],
 						taskInstance.getTask());
 			}
-			System.out.println();
+			//System.out.println();
 			// Each NumberSequence is identified by its id, beginning to count
 			// at zero
@@ -307,5 +310,4 @@
 			}
 		}
-
 		return iteratedTasks;
 	}
@@ -621,21 +623,22 @@
 					MatchOccurence oc = it.next();
 
-					/*
-					 * System.out.println("Trying to replace sequence: ");
-					 * matchseqs.get(i).getFirstSequence().printSequence();
-					 * matchseqs.get(i).getSecondSequence().printSequence();
-					 * System.out.println(" in session number: " +
-					 * (oc.getSequenceId() + 1) + " at position " +
-					 * (oc.getStartindex()) + "-" + oc.getEndindex());
-					 * System.out.println();
-					 */
-
-					// System.out.println("Printing session: ");
-					// for (int j = 0; j <
-					// appData.getSessions().get(oc.getSequenceId()).size();
-					// j++) {
-					// System.out.println(j + ": "
-					// + appData.getSessions().get(oc.getSequenceId()).get(j));
-					// }
+					if(iteration==-1) {
+					  System.out.println("Trying to replace sequence: ");
+					  matchseqs.get(i).getFirstSequence().printSequence();
+					  matchseqs.get(i).getSecondSequence().printSequence();
+					  System.out.println(" in session number: " +
+					  (oc.getSequenceId() + 1) + " at position " +
+					  (oc.getStartindex()) + "-" + oc.getEndindex());
+					  System.out.println();
+					 
+
+					  System.out.println("Printing session: ");
+					 for (int j = 0; j <
+					appData.getSessions().get(oc.getSequenceId()).size();
+					 j++) {
+					 System.out.println(j + ": "
+					 + appData.getSessions().get(oc.getSequenceId()).get(j));
+					 }
+					}
 
 					// Check if nothing has been replaced in the sequence we
