Index: /trunk/autoquest-core-tasktrees-test/src/test/java/de/ugoe/cs/autoquest/tasktrees/taskequality/IterationComparisonRuleTest.java
===================================================================
--- /trunk/autoquest-core-tasktrees-test/src/test/java/de/ugoe/cs/autoquest/tasktrees/taskequality/IterationComparisonRuleTest.java	(revision 1189)
+++ /trunk/autoquest-core-tasktrees-test/src/test/java/de/ugoe/cs/autoquest/tasktrees/taskequality/IterationComparisonRuleTest.java	(revision 1190)
@@ -24,5 +24,4 @@
 import de.ugoe.cs.autoquest.tasktrees.taskequality.IterationComparisonRule;
 import de.ugoe.cs.autoquest.tasktrees.taskequality.TaskEquality;
-import de.ugoe.cs.autoquest.tasktrees.taskequality.TaskEqualityRuleManager;
 import de.ugoe.cs.autoquest.tasktrees.treeifc.IIteration;
 import de.ugoe.cs.autoquest.tasktrees.treeifc.ISelection;
@@ -44,11 +43,8 @@
     @Test
     public void test() {
-        TaskEqualityRuleManager manager = new TaskEqualityRuleManager();
-        manager.init();
-        
         ITaskFactory taskFactory = new TaskFactory();
         ITaskBuilder treeBuilder = new TaskBuilder();
         
-        IterationComparisonRule rule = new IterationComparisonRule(manager);
+        IterationComparisonRule rule = new IterationComparisonRule();
         
         IEventType eventType1 = new StringEventType("eventType1");
Index: /trunk/autoquest-core-tasktrees-test/src/test/java/de/ugoe/cs/autoquest/tasktrees/taskequality/SelectionComparisonRuleTest.java
===================================================================
--- /trunk/autoquest-core-tasktrees-test/src/test/java/de/ugoe/cs/autoquest/tasktrees/taskequality/SelectionComparisonRuleTest.java	(revision 1189)
+++ /trunk/autoquest-core-tasktrees-test/src/test/java/de/ugoe/cs/autoquest/tasktrees/taskequality/SelectionComparisonRuleTest.java	(revision 1190)
@@ -24,5 +24,4 @@
 import de.ugoe.cs.autoquest.tasktrees.taskequality.TaskEquality;
 import de.ugoe.cs.autoquest.tasktrees.taskequality.SelectionComparisonRule;
-import de.ugoe.cs.autoquest.tasktrees.taskequality.TaskEqualityRuleManager;
 import de.ugoe.cs.autoquest.tasktrees.treeifc.ISelection;
 import de.ugoe.cs.autoquest.tasktrees.treeifc.ISequence;
@@ -44,11 +43,8 @@
     @Test
     public void test() {
-        TaskEqualityRuleManager manager = new TaskEqualityRuleManager();
-        manager.init();
-        
         ITaskFactory taskFactory = new TaskFactory();
         ITaskBuilder treeBuilder = new TaskBuilder();
         
-        SelectionComparisonRule rule = new SelectionComparisonRule(manager);
+        SelectionComparisonRule rule = new SelectionComparisonRule();
         
         IEventType eventType1 = new StringEventType("eventType1");
Index: /trunk/autoquest-core-tasktrees-test/src/test/java/de/ugoe/cs/autoquest/tasktrees/taskequality/SequenceComparisonRuleTest.java
===================================================================
--- /trunk/autoquest-core-tasktrees-test/src/test/java/de/ugoe/cs/autoquest/tasktrees/taskequality/SequenceComparisonRuleTest.java	(revision 1189)
+++ /trunk/autoquest-core-tasktrees-test/src/test/java/de/ugoe/cs/autoquest/tasktrees/taskequality/SequenceComparisonRuleTest.java	(revision 1190)
@@ -24,5 +24,4 @@
 import de.ugoe.cs.autoquest.tasktrees.taskequality.TaskEquality;
 import de.ugoe.cs.autoquest.tasktrees.taskequality.SequenceComparisonRule;
-import de.ugoe.cs.autoquest.tasktrees.taskequality.TaskEqualityRuleManager;
 import de.ugoe.cs.autoquest.tasktrees.treeifc.ISelection;
 import de.ugoe.cs.autoquest.tasktrees.treeifc.ISequence;
@@ -44,11 +43,8 @@
     @Test
     public void test() {
-        TaskEqualityRuleManager manager = new TaskEqualityRuleManager();
-        manager.init();
-        
         ITaskFactory taskFactory = new TaskFactory();
         ITaskBuilder treeBuilder = new TaskBuilder();
         
-        SequenceComparisonRule rule = new SequenceComparisonRule(manager);
+        SequenceComparisonRule rule = new SequenceComparisonRule();
         
         IEventType eventType1 = new StringEventType("eventType1");
Index: /trunk/autoquest-core-tasktrees-test/src/test/java/de/ugoe/cs/autoquest/tasktrees/taskequality/TaskAndIterationComparisonRuleTest.java
===================================================================
--- /trunk/autoquest-core-tasktrees-test/src/test/java/de/ugoe/cs/autoquest/tasktrees/taskequality/TaskAndIterationComparisonRuleTest.java	(revision 1189)
+++ /trunk/autoquest-core-tasktrees-test/src/test/java/de/ugoe/cs/autoquest/tasktrees/taskequality/TaskAndIterationComparisonRuleTest.java	(revision 1190)
@@ -24,5 +24,4 @@
 import de.ugoe.cs.autoquest.tasktrees.taskequality.TaskAndIterationComparisonRule;
 import de.ugoe.cs.autoquest.tasktrees.taskequality.TaskEquality;
-import de.ugoe.cs.autoquest.tasktrees.taskequality.TaskEqualityRuleManager;
 import de.ugoe.cs.autoquest.tasktrees.treeifc.IIteration;
 import de.ugoe.cs.autoquest.tasktrees.treeifc.ISelection;
@@ -44,11 +43,8 @@
     @Test
     public void test() {
-        TaskEqualityRuleManager manager = new TaskEqualityRuleManager();
-        manager.init();
-        
         ITaskFactory taskFactory = new TaskFactory();
         ITaskBuilder treeBuilder = new TaskBuilder();
         
-        TaskAndIterationComparisonRule rule = new TaskAndIterationComparisonRule(manager);
+        TaskAndIterationComparisonRule rule = new TaskAndIterationComparisonRule();
         
         IEventType eventType1 = new StringEventType("eventType1");
Index: /trunk/autoquest-core-tasktrees-test/src/test/java/de/ugoe/cs/autoquest/tasktrees/taskequality/TaskAndSelectionComparisonRuleTest.java
===================================================================
--- /trunk/autoquest-core-tasktrees-test/src/test/java/de/ugoe/cs/autoquest/tasktrees/taskequality/TaskAndSelectionComparisonRuleTest.java	(revision 1189)
+++ /trunk/autoquest-core-tasktrees-test/src/test/java/de/ugoe/cs/autoquest/tasktrees/taskequality/TaskAndSelectionComparisonRuleTest.java	(revision 1190)
@@ -24,5 +24,4 @@
 import de.ugoe.cs.autoquest.tasktrees.taskequality.TaskAndSelectionComparisonRule;
 import de.ugoe.cs.autoquest.tasktrees.taskequality.TaskEquality;
-import de.ugoe.cs.autoquest.tasktrees.taskequality.TaskEqualityRuleManager;
 import de.ugoe.cs.autoquest.tasktrees.treeifc.ISelection;
 import de.ugoe.cs.autoquest.tasktrees.treeifc.ITaskBuilder;
@@ -43,11 +42,8 @@
     @Test
     public void test() {
-        TaskEqualityRuleManager manager = new TaskEqualityRuleManager();
-        manager.init();
-        
         ITaskFactory taskFactory = new TaskFactory();
         ITaskBuilder treeBuilder = new TaskBuilder();
         
-        TaskAndSelectionComparisonRule rule = new TaskAndSelectionComparisonRule(manager);
+        TaskAndSelectionComparisonRule rule = new TaskAndSelectionComparisonRule();
         
         IEventType eventType1 = new StringEventType("eventType1");
Index: /trunk/autoquest-core-tasktrees-test/src/test/java/de/ugoe/cs/autoquest/tasktrees/temporalrelation/AbstractTemporalRelationshipTC.java
===================================================================
--- /trunk/autoquest-core-tasktrees-test/src/test/java/de/ugoe/cs/autoquest/tasktrees/temporalrelation/AbstractTemporalRelationshipTC.java	(revision 1189)
+++ /trunk/autoquest-core-tasktrees-test/src/test/java/de/ugoe/cs/autoquest/tasktrees/temporalrelation/AbstractTemporalRelationshipTC.java	(revision 1190)
@@ -33,6 +33,4 @@
 import de.ugoe.cs.autoquest.tasktrees.TaskTreeValidator;
 import de.ugoe.cs.autoquest.tasktrees.taskequality.TaskEquality;
-import de.ugoe.cs.autoquest.tasktrees.taskequality.TaskEqualityRuleManager;
-import de.ugoe.cs.autoquest.tasktrees.testutils.Utilities;
 import de.ugoe.cs.autoquest.tasktrees.treeifc.ITaskInstanceList;
 import de.ugoe.cs.autoquest.tasktrees.treeifc.ITaskBuilder;
@@ -62,8 +60,4 @@
     private TaskTreeEncoder encoder = new TaskTreeEncoder();
     
-    /** */
-    private TaskEqualityRuleManager taskEqualityRuleManager =
-        Utilities.getTaskEqualityRuleManagerForTests();
-
     /**
      *
@@ -97,7 +91,4 @@
                     parameters.add(taskBuilder);
                 }
-                else if (TaskEqualityRuleManager.class.equals(type)) {
-                    parameters.add(taskEqualityRuleManager);
-                }
                 else if (TaskEquality.class.equals(type)) {
                     parameters.add(TaskEquality.LEXICALLY_EQUAL);
@@ -192,7 +183,4 @@
                     parameters.add(taskBuilder);
                 }
-                else if (TaskEqualityRuleManager.class.equals(type)) {
-                    parameters.add(taskEqualityRuleManager);
-                }
                 else if (TaskEquality.class.equals(type)) {
                     parameters.add(TaskEquality.LEXICALLY_EQUAL);
Index: /trunk/autoquest-core-tasktrees/src/main/java/de/ugoe/cs/autoquest/tasktrees/taskequality/IterationComparisonRule.java
===================================================================
--- /trunk/autoquest-core-tasktrees/src/main/java/de/ugoe/cs/autoquest/tasktrees/taskequality/IterationComparisonRule.java	(revision 1189)
+++ /trunk/autoquest-core-tasktrees/src/main/java/de/ugoe/cs/autoquest/tasktrees/taskequality/IterationComparisonRule.java	(revision 1190)
@@ -81,20 +81,4 @@
 public class IterationComparisonRule implements TaskComparisonRule {
     
-    /** the rule manager for internally comparing tasks */
-    private TaskEqualityRuleManager mRuleManager;
-
-    /**
-     * <p>
-     * simple constructor to provide the rule with the task equality rule manager to be able
-     * to perform comparisons of the children of provided tasks
-     * </p>
-     * 
-     * @param ruleManager the rule manager for comparing tasks
-     */
-    IterationComparisonRule(TaskEqualityRuleManager ruleManager) {
-        super();
-        mRuleManager = ruleManager;
-    }
-
     /* (non-Javadoc)
      * @see NodeComparisonRule#isApplicable(ITask, ITask)
@@ -319,7 +303,9 @@
     {
         if (requiredEqualityLevel == null) {
-            return mRuleManager.compare(child1, child2);
-        }
-        else if (mRuleManager.areAtLeastEqual(child1, child2, requiredEqualityLevel)) {
+            return TaskEqualityRuleManager.getInstance().compare(child1, child2);
+        }
+        else if (TaskEqualityRuleManager.getInstance().areAtLeastEqual
+                    (child1, child2, requiredEqualityLevel))
+        {
             return requiredEqualityLevel;
         }
Index: /trunk/autoquest-core-tasktrees/src/main/java/de/ugoe/cs/autoquest/tasktrees/taskequality/SelectionComparisonRule.java
===================================================================
--- /trunk/autoquest-core-tasktrees/src/main/java/de/ugoe/cs/autoquest/tasktrees/taskequality/SelectionComparisonRule.java	(revision 1189)
+++ /trunk/autoquest-core-tasktrees/src/main/java/de/ugoe/cs/autoquest/tasktrees/taskequality/SelectionComparisonRule.java	(revision 1190)
@@ -37,20 +37,4 @@
  */
 public class SelectionComparisonRule implements TaskComparisonRule {
-
-    /** the rule manager for internally comparing tasks */
-    private TaskEqualityRuleManager mRuleManager;
-
-    /**
-     * <p>
-     * simple constructor to provide the rule with the task equality rule manager to be able
-     * to perform comparisons of the children of provided tasks
-     * </p>
-     * 
-     * @param ruleManager the rule manager for comparing tasks
-     */
-    SelectionComparisonRule(TaskEqualityRuleManager ruleManager) {
-        super();
-        mRuleManager = ruleManager;
-    }
 
     /* (non-Javadoc)
@@ -263,7 +247,9 @@
     {
         if (requiredEqualityLevel == null) {
-            return mRuleManager.compare(child1, child2);
-        }
-        else if (mRuleManager.areAtLeastEqual(child1, child2, requiredEqualityLevel)) {
+            return TaskEqualityRuleManager.getInstance().compare(child1, child2);
+        }
+        else if (TaskEqualityRuleManager.getInstance().areAtLeastEqual
+                     (child1, child2, requiredEqualityLevel))
+        {
             return requiredEqualityLevel;
         }
Index: /trunk/autoquest-core-tasktrees/src/main/java/de/ugoe/cs/autoquest/tasktrees/taskequality/SequenceComparisonRule.java
===================================================================
--- /trunk/autoquest-core-tasktrees/src/main/java/de/ugoe/cs/autoquest/tasktrees/taskequality/SequenceComparisonRule.java	(revision 1189)
+++ /trunk/autoquest-core-tasktrees/src/main/java/de/ugoe/cs/autoquest/tasktrees/taskequality/SequenceComparisonRule.java	(revision 1190)
@@ -32,20 +32,4 @@
  */
 public class SequenceComparisonRule implements TaskComparisonRule {
-
-    /** the rule manager for internally comparing tasks */
-    private TaskEqualityRuleManager mRuleManager;
-
-    /**
-     * <p>
-     * simple constructor to provide the rule with the task equality rule manager to be able
-     * to perform comparisons of the children of provided tasks
-     * </p>
-     * 
-     * @param ruleManager the rule manager for comparing tasks
-     */
-    SequenceComparisonRule(TaskEqualityRuleManager ruleManager) {
-        super();
-        mRuleManager = ruleManager;
-    }
 
     /* (non-Javadoc)
@@ -154,7 +138,9 @@
     {
         if (requiredEqualityLevel == null) {
-            return mRuleManager.compare(child1, child2);
+            return TaskEqualityRuleManager.getInstance().compare(child1, child2);
         }
-        else if (mRuleManager.areAtLeastEqual(child1, child2, requiredEqualityLevel)) {
+        else if (TaskEqualityRuleManager.getInstance().areAtLeastEqual
+                    (child1, child2, requiredEqualityLevel))
+        {
             return requiredEqualityLevel;
         }
Index: /trunk/autoquest-core-tasktrees/src/main/java/de/ugoe/cs/autoquest/tasktrees/taskequality/TaskAndIterationComparisonRule.java
===================================================================
--- /trunk/autoquest-core-tasktrees/src/main/java/de/ugoe/cs/autoquest/tasktrees/taskequality/TaskAndIterationComparisonRule.java	(revision 1189)
+++ /trunk/autoquest-core-tasktrees/src/main/java/de/ugoe/cs/autoquest/tasktrees/taskequality/TaskAndIterationComparisonRule.java	(revision 1190)
@@ -32,20 +32,4 @@
 public class TaskAndIterationComparisonRule implements TaskComparisonRule {
     
-    /** the rule manager for internally comparing tasks */
-    private TaskEqualityRuleManager mRuleManager;
-
-    /**
-     * <p>
-     * simple constructor to provide the rule with the task equality rule manager to be able
-     * to perform comparisons of the children of provided tasks
-     * </p>
-     * 
-     * @param ruleManager the rule manager for comparing tasks
-     */
-    TaskAndIterationComparisonRule(TaskEqualityRuleManager ruleManager) {
-        super();
-        mRuleManager = ruleManager;
-    }
-
     /* (non-Javadoc)
      * @see NodeComparisonRule#isApplicable(ITask, ITask)
@@ -172,7 +156,9 @@
     {
         if (requiredEqualityLevel == null) {
-            return mRuleManager.compare(child1, child2);
+            return TaskEqualityRuleManager.getInstance().compare(child1, child2);
         }
-        else if (mRuleManager.areAtLeastEqual(child1, child2, requiredEqualityLevel)) {
+        else if (TaskEqualityRuleManager.getInstance().areAtLeastEqual
+                     (child1, child2, requiredEqualityLevel))
+        {
             return requiredEqualityLevel;
         }
Index: /trunk/autoquest-core-tasktrees/src/main/java/de/ugoe/cs/autoquest/tasktrees/taskequality/TaskAndSelectionComparisonRule.java
===================================================================
--- /trunk/autoquest-core-tasktrees/src/main/java/de/ugoe/cs/autoquest/tasktrees/taskequality/TaskAndSelectionComparisonRule.java	(revision 1189)
+++ /trunk/autoquest-core-tasktrees/src/main/java/de/ugoe/cs/autoquest/tasktrees/taskequality/TaskAndSelectionComparisonRule.java	(revision 1190)
@@ -33,20 +33,4 @@
 public class TaskAndSelectionComparisonRule implements TaskComparisonRule {
     
-    /** the rule manager for internally comparing tasks */
-    private TaskEqualityRuleManager mRuleManager;
-    
-    /**
-     * <p>
-     * simple constructor to provide the rule with the task equality rule manager to be able
-     * to perform comparisons of the children of provided tasks
-     * </p>
-     * 
-     * @param ruleManager the rule manager for comparing tasks
-     */
-    TaskAndSelectionComparisonRule(TaskEqualityRuleManager ruleManager) {
-        super();
-        mRuleManager = ruleManager;
-    }
-
     /* (non-Javadoc)
      * @see NodeComparisonRule#isApplicable(ITask, ITask)
@@ -196,7 +180,9 @@
     {
         if (requiredEqualityLevel == null) {
-            return mRuleManager.compare(child1, child2);
+            return TaskEqualityRuleManager.getInstance().compare(child1, child2);
         }
-        else if (mRuleManager.areAtLeastEqual(child1, child2, requiredEqualityLevel)) {
+        else if (TaskEqualityRuleManager.getInstance().areAtLeastEqual
+                     (child1, child2, requiredEqualityLevel))
+        {
             return requiredEqualityLevel;
         }
Index: /trunk/autoquest-core-tasktrees/src/main/java/de/ugoe/cs/autoquest/tasktrees/taskequality/TaskEqualityRuleManager.java
===================================================================
--- /trunk/autoquest-core-tasktrees/src/main/java/de/ugoe/cs/autoquest/tasktrees/taskequality/TaskEqualityRuleManager.java	(revision 1189)
+++ /trunk/autoquest-core-tasktrees/src/main/java/de/ugoe/cs/autoquest/tasktrees/taskequality/TaskEqualityRuleManager.java	(revision 1190)
@@ -57,9 +57,9 @@
         mRuleIndex.add(new GUIEventTaskComparisonRule());
         mRuleIndex.add(new EventTaskComparisonRule());
-        mRuleIndex.add(new IterationComparisonRule(this));
-        mRuleIndex.add(new SequenceComparisonRule(this));
-        mRuleIndex.add(new SelectionComparisonRule(this));
-        mRuleIndex.add(new TaskAndIterationComparisonRule(this));
-        mRuleIndex.add(new TaskAndSelectionComparisonRule(this));
+        mRuleIndex.add(new IterationComparisonRule());
+        mRuleIndex.add(new SequenceComparisonRule());
+        mRuleIndex.add(new SelectionComparisonRule());
+        mRuleIndex.add(new TaskAndIterationComparisonRule());
+        mRuleIndex.add(new TaskAndSelectionComparisonRule());
     }
 
