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 1739)
+++ branches/autoquest-core-tasktrees-alignment/src/main/java/de/ugoe/cs/autoquest/tasktrees/alignment/matrix/ObjectDistanceSubstitionMatrix.java	(revision 1740)
@@ -49,5 +49,5 @@
 	
 	/** The calculate non task instances. */
-	private boolean calculateNonTaskInstances = true;
+	private boolean calculateNonEventTaskInstances = false;
 	
 	/** The first round max index. */
@@ -70,5 +70,5 @@
 		etisOfTasks = new HashMap<Integer, LinkedList<IEventTaskInstance>>();
 		this.gapPenalty = gapPenalty;
-		this.calculateNonTaskInstances = calculateNonTaskInstances;
+		this.calculateNonEventTaskInstances = calculateNonTaskInstances;
 
 	}
@@ -152,9 +152,11 @@
 	private float distanceBetweenTaskAndInstance(ITask task1,
 			IEventTaskInstance eti1) {
-		if (this.calculateNonTaskInstances) {
+		if (this.calculateNonEventTaskInstances) {
 			float tmpDistance = 0;
-			// System.out.println(etisOfTasks);
-			final LinkedList<IEventTaskInstance> eventTaskInstances = etisOfTasks
-					.get(task1.getId());
+			final EventTaskInstancesListGenerator etlg = new EventTaskInstancesListGenerator();
+			task1.accept(etlg);
+			final LinkedList<IEventTaskInstance> eventTaskInstances = etlg
+					.getEventlist();
+			
 			for (final Iterator<IEventTaskInstance> it = eventTaskInstances
 					.iterator(); it.hasNext();) {
@@ -184,7 +186,10 @@
 	 */
 	private float distanceBetweenTasks(ITask task1, ITask task2) {
-		if (this.calculateNonTaskInstances) {
-			final LinkedList<IEventTaskInstance> eventTaskInstances = etisOfTasks
-					.get(task1.getId());
+		if (this.calculateNonEventTaskInstances) {
+			final EventTaskInstancesListGenerator etlg = new EventTaskInstancesListGenerator();
+			task1.accept(etlg);
+			final LinkedList<IEventTaskInstance> eventTaskInstances = etlg
+					.getEventlist();
+			
 			float tmpDistance = 0;
 			for (final Iterator<IEventTaskInstance> it = eventTaskInstances
@@ -206,8 +211,8 @@
 	public void generate(HashSet<ITask> uniqueTasks) {
 		this.uniqueTasks = uniqueTasks;
-		if (this.calculateNonTaskInstances) {
+		if (this.calculateNonEventTaskInstances) {
 			matrix = new DynamicTriangleMatrix(uniqueTasks.size() + 1);
 			Console.traceln(Level.INFO, "searching EventTasks in Tasks");
-			searchEventTaskInstances();
+			//searchEventTaskInstances();
 		} else {
 			matrix = new StaticTriangleMatrix(uniqueTasks.size() + 1);
@@ -295,5 +300,5 @@
 				|| (taskId2 == Constants.UNMATCHED_SYMBOL)) {
 			return 0;
-		} else if ((this.calculateNonTaskInstances == false)
+		} else if ((this.calculateNonEventTaskInstances == false)
 				&& ((taskId1 > this.firstRoundMaxIndex) || (taskId2 > this.firstRoundMaxIndex))) {
 			return 0;
@@ -347,5 +352,5 @@
 	public void update(LinkedList<ITask> newTasks) {
 
-		if (this.calculateNonTaskInstances) {
+		if (this.calculateNonEventTaskInstances) {
 			try {
 				matrix.increaseSize(newTasks.size());
@@ -356,5 +361,5 @@
 				Console.logException(e);
 			}
-			this.updateEventTaskInstances(newTasks);
+			//this.updateEventTaskInstances(newTasks);
 			for (final Iterator<ITask> it = newTasks.iterator(); it.hasNext();) {
 				final ITask task1 = it.next();
Index: branches/autoquest-core-tasktrees-alignment/src/main/java/de/ugoe/cs/autoquest/tasktrees/alignment/matrix/UPGMAMatrix.java
===================================================================
--- branches/autoquest-core-tasktrees-alignment/src/main/java/de/ugoe/cs/autoquest/tasktrees/alignment/matrix/UPGMAMatrix.java	(revision 1739)
+++ 	(revision )
@@ -1,63 +1,0 @@
-/*
- * 
- */
-package de.ugoe.cs.autoquest.tasktrees.alignment.matrix;
-
-// TODO: Auto-generated Javadoc
-/**
- * The Class UPGMAMatrix.
- */
-public class UPGMAMatrix extends StaticTriangleMatrix {
-
-	/**
-	 * 
-	 */
-	private static final long serialVersionUID = 1L;
-
-	/**
-	 * Instantiates a new UPGMA matrix.
-	 *
-	 * @param size the size of the matrix
-	 */
-	public UPGMAMatrix(int size) {
-		super(size);
-	}
-
-	/* (non-Javadoc)
-	 * @see de.ugoe.cs.autoquest.tasktrees.alignment.matrix.StaticTriangleMatrix#size()
-	 */
-	@Override
-	public int size() {
-		return size;
-	}
-
-	/* (non-Javadoc)
-	 * @see de.ugoe.cs.autoquest.tasktrees.alignment.matrix.StaticTriangleMatrix#toString()
-	 */
-	@Override
-	public String toString() {
-		String result = "";
-		for (int i = 0; i < size; i++) {
-			result = result + String.format("%8d", i);
-		}
-		result += "\n";
-
-		for (int i = 0; i < size; i++) {
-			for (int j = 0; j < size; j++) {
-				if (i < j) {
-					if (Double.isInfinite(this.get(i, j))) {
-						result = result + " -------";
-					} else {
-						result = result
-								+ String.format("%+8.2f", this.get(i, j));
-					}
-				} else {
-					result = result + ("        ");
-				}
-			}
-			result = result + "   " + i + "\n";
-		}
-		return result;
-	}
-
-}
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 1739)
+++ branches/autoquest-core-tasktrees-alignment/src/main/java/de/ugoe/cs/autoquest/tasktrees/temporalrelation/SequenceForTaskDetectionRuleAlignment.java	(revision 1740)
@@ -385,5 +385,4 @@
 			appData.getStopWatch().stop("whole loop");
 			appData.getStopWatch().dumpStatistics(System.out);
-			new TaskTreeValidator().validate(appData.getSessions());
 			appData.getStopWatch().reset();
 
@@ -401,5 +400,5 @@
 					RuleApplicationStatus.FINISHED);
 		}
-
+		new TaskTreeValidator().validate(appData.getSessions());
 		return appData.getResult();
 	}
@@ -534,5 +533,5 @@
 			final int from = i;
 			final int to = i + interval+offset-1;
-			Console.traceln(Level.FINE, "Aligning: Creating thread for sessions " + from + " till " + to);
+			Console.traceln(Level.FINER, "Aligning: Creating thread for sessions " + from + " till " + to);
 			final ParallelPairwiseAligner aligner = new ParallelPairwiseAligner(
 					appData, from, to);
@@ -764,5 +763,5 @@
 					taskBuilder.addChild(selection, subsequence2);
 					taskBuilder.addChild(sequence, selection);
-					// TODO: We run not till the end!
+					// TODO: We may not run till the end!
 					while ((i < (first.length - 1)) && selectionfound) {
 						selectionfound = false;
@@ -1024,5 +1023,5 @@
 		int rest = matchSeqSize % newThreads;
 		final ExecutorService executor = Executors.newFixedThreadPool(nThreads);
-		Console.traceln(Level.FINE, "Interval: " + interval + " Rest: " + rest);
+		Console.traceln(Level.FINER, "Interval: " + interval + " Rest: " + rest);
 		for (int i = 0; i <= (matchSeqSize-interval); i += interval) {
 			int offset = 0;
@@ -1101,5 +1100,5 @@
 			final int size = to - from;
 
-			for (int i = from; i < to; i++) {
+			for (int i = from; i <= to; i++) {
 				final Match pattern = appData.getMatchseqs().get(i);
 				count++;
@@ -1174,5 +1173,5 @@
 			final int size = to - from; 
 
-			for (int i = from; i < to; i++) {
+			for (int i = from; i <= to; i++) {
 				final NumberSequence ns1 = appData.getNumberSequences().get(i);
 				count++;
Index: branches/autoquest-core-tasktrees-alignment/src/main/java/de/ugoe/cs/autoquest/tasktrees/temporalrelation/TaskTreeValidator.java
===================================================================
--- branches/autoquest-core-tasktrees-alignment/src/main/java/de/ugoe/cs/autoquest/tasktrees/temporalrelation/TaskTreeValidator.java	(revision 1739)
+++ branches/autoquest-core-tasktrees-alignment/src/main/java/de/ugoe/cs/autoquest/tasktrees/temporalrelation/TaskTreeValidator.java	(revision 1740)
@@ -99,5 +99,5 @@
         if (taskInstance.getTask() instanceof ISequence) {
             ISequence task = (ISequence) taskInstance.getTask();
-            System.out.println("Task: " + task);
+            //System.out.println("Task: " + task);
             String instance="\n";
             String model="\n";
