Index: /branches/autoquest-core-tasktrees-alignment/src/main/java/de/ugoe/cs/autoquest/tasktrees/alignment/matrix/ObjectDistanceSubstitionMatrix.java
===================================================================
--- /branches/autoquest-core-tasktrees-alignment/src/main/java/de/ugoe/cs/autoquest/tasktrees/alignment/matrix/ObjectDistanceSubstitionMatrix.java	(revision 1678)
+++ /branches/autoquest-core-tasktrees-alignment/src/main/java/de/ugoe/cs/autoquest/tasktrees/alignment/matrix/ObjectDistanceSubstitionMatrix.java	(revision 1679)
@@ -113,4 +113,5 @@
 	private int getIndex(ITask task) {
 		int tempindex =-1;
+	
 		if(!idmapping.containsKey(task.getId())) {
 			idmapping.put(task.getId(), index);
@@ -121,4 +122,5 @@
 			tempindex = idmapping.get(task.getId());
 		}
+		
 		return tempindex;
 	}
@@ -154,8 +156,10 @@
 		} 
 		else {
+			//System.out.println("Firsttask: " +taskId1);
+			//System.out.println("Secondtask: " + taskId2);
 			int first = idmapping.get(taskId1);
 			int second = idmapping.get(taskId2);
-			System.out.println("First: " + first + " Second: " + second);
-			System.out.println("Matrix: " + matrix.get(first, second));
+			//System.out.println("First: " + first + " Second: " + second);
+			//System.out.println("Matrix: " + matrix.get(first, second));
 			return matrix.get(first,second);	
 		}
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 1678)
+++ /branches/autoquest-core-tasktrees-alignment/src/main/java/de/ugoe/cs/autoquest/tasktrees/temporalrelation/SequenceForTaskDetectionRuleAlignment.java	(revision 1679)
@@ -147,8 +147,8 @@
 		RuleApplicationData appData = new RuleApplicationData(sessions);
 
-		harmonizeEventTaskInstancesModel(appData);
+		
 		appData.detectedAndReplacedTasks = false;
 		do {
-
+			harmonizeEventTaskInstancesModel(appData);
 			appData.getStopWatch().start("whole loop"); //
 			// detectAndReplaceIterations(appData);
@@ -185,8 +185,10 @@
 			for (int j = 0; j < session.size(); j++) {
 				ITaskInstance taskInstance = session.get(j);
+				System.out.print(taskInstance.getTask().getId() + " ");
 				templist.getSequence()[j] = taskInstance.getTask().getId();
 				appData.getNumber2Task().put(templist.getSequence()[j],
 						taskInstance.getTask());
 			}
+			System.out.println();
 			// Each NumberSequence is identified by its id, beginning to count
 			// at zero
@@ -430,8 +432,7 @@
 				//System.out.println("First: " + first[i] + " Second: " + second[i]);
 				ISelection selection = taskFactory.createNewSelection();
+				ISelectionInstance temp = taskFactory.createNewTaskInstance(selection);
 				appData.uniqueTasks
-						.addSymbol(
-								taskFactory.createNewTaskInstance(selection),
-								selection);
+						.addSymbol(temp,selection);
 				appData.number2task.put(selection.getId(), selection);
 				taskBuilder.addChild(selection,
@@ -561,7 +562,5 @@
 			}
 		}
-		if (matchseqs.size() > 0) {
-			appData.detectedAndReplacedTasks = true;
-		}
+		
 		Console.traceln(Level.FINEST,
 				"retrieving significant sequence pieces:  100%");
@@ -615,5 +614,6 @@
 			// well
 			if (matchseqs.get(i).occurenceCount() > 2) {
-
+				
+				appData.detectedAndReplacedTasks = true;
 				ISequence task = matchAsSequence(appData, matchseqs.get(i));
 				invalidOccurence: for (Iterator<MatchOccurence> it = matchseqs
