Index: branches/ralph/src/main/java/de/ugoe/cs/autoquest/tasktrees/temporalrelation/RuleUtils.java
===================================================================
--- branches/ralph/src/main/java/de/ugoe/cs/autoquest/tasktrees/temporalrelation/RuleUtils.java	(revision 1631)
+++ branches/ralph/src/main/java/de/ugoe/cs/autoquest/tasktrees/temporalrelation/RuleUtils.java	(revision 1645)
@@ -92,7 +92,19 @@
     {
         ISequenceInstance subsequence = taskFactory.createNewTaskInstance(model);
-
+        
+       
+        
+        System.out.println("Got model: " + model.toString());
+        
+       
+        
+       
+        
+        System.out.println(parent);
+        //System.out.println(parent.get(startIndex));
         for (int i = startIndex; i <= endIndex; i++) {
+        	System.out.println("Trying to add "+ parent.get(startIndex) + " to the model");
             taskBuilder.addChild(subsequence, parent.get(startIndex));
+            
             taskBuilder.removeTaskInstance(parent, startIndex);
         }
Index: branches/ralph/src/main/java/de/ugoe/cs/autoquest/tasktrees/temporalrelation/SequenceForTaskDetectionRuleAlignment.java
===================================================================
--- branches/ralph/src/main/java/de/ugoe/cs/autoquest/tasktrees/temporalrelation/SequenceForTaskDetectionRuleAlignment.java	(revision 1631)
+++ branches/ralph/src/main/java/de/ugoe/cs/autoquest/tasktrees/temporalrelation/SequenceForTaskDetectionRuleAlignment.java	(revision 1645)
@@ -189,7 +189,6 @@
 
 			// Skip sequences with more 0 events (scrolls) than other events.
-			// Both of the pattern sequences are equally long, so the added 0
-			// counts
-			// just need to be smaller than the length of one sequence
+			// Both of the pattern sequences are equally long, so the zero
+			// counts just need to be smaller than the length of one sequence
 			if (pattern.getFirstSequence().eventCount(0)
 					+ pattern.getSecondSequence().eventCount(0) + 1 > pattern
@@ -261,10 +260,17 @@
 			if (matchseqs.get(i).occurenceCount() > 2) {
 				
-				ITask task = matchAsTask(appData,matchseqs.get(i));
+				ISequence task = matchAsSequence(appData,matchseqs.get(i));
 				for(Iterator<MatchOccurence> it = matchseqs.get(i).getOccurences().iterator();it.hasNext();) {
-					MatchOccurence oc = it.next(); 
-					//RuleUtils.createNewSubSequenceInRange(oc.getSequenceId(), oc.getStartindex(), oc.getStartindex()+task
-					//	+ task.size() - 1, temporalTaskModel,
-					//	taskFactory, taskBuilder));
+					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.getStartindex()+matchseqs.get(i).getFirstSequence().size()));
+					System.out.println("Printing session: ");
+					for(int j=0;j<sessions.get(oc.getSequenceId()).size();j++) {
+						System.out.println(j+ ": " + sessions.get(oc.getSequenceId()).get(j));
+					}
+					List<ISequenceInstance> sequenceInstances = new LinkedList<ISequenceInstance>();
+					RuleUtils.createNewSubSequenceInRange(sessions.get(oc.getSequenceId()), oc.getStartindex(), oc.getStartindex()+matchseqs.get(i).getFirstSequence().size()-1, task,	taskFactory, taskBuilder);
 	}
 				System.out.println(task);
@@ -361,4 +367,5 @@
 				appData.getNumber2Task().put(templist.getSequence()[i], taskInstance.getTask());
 			}
+			//Each NumberSequence is identified by its id, beginning to count at zero
 			templist.setId(appData.getNumberSequences().size());
 			appData.getNumberSequences().add(templist);
@@ -504,5 +511,5 @@
 
 	
-	 ITask matchAsTask(RuleApplicationData appData,Match m) {
+	 ISequence matchAsSequence(RuleApplicationData appData,Match m) {
 	    	
 	    	ISequence sequence = taskFactory.createNewSequence();
@@ -510,11 +517,9 @@
 	    	int[] first = m.getFirstSequence().getSequence();
 	    	int[] second = m.getSecondSequence().getSequence();
-	    	System.out.println("Number2Task size: " +appData.getNumber2Task().size());
+
 	    	
 	    	//Both sequences of a match are equally long
 	    	for(int i=0;i<m.getFirstSequence().size();i++) {
-	    		System.out.println("First:" + first[i]);
-	    		System.out.println("Second:" + second[i]);
-	    		System.out.println();
+	
 	    		//Two gaps aligned to each other: Have not seen it happening so far, just to handle it
 	    		if(first[i]==-1 && second[i]==-1) {
@@ -648,7 +653,7 @@
 		appData.detectedAndReplacedTasks(false);
 
-	
+	/*
 			Console.traceln(Level.FINER, "replacing tasks occurrences");
-			/*
+			
 			for (List<ITaskInstance> task : appData.getLastFoundTasks()) {
 				ISequence sequence = taskFactory.createNewSequence();
