Index: trunk/autoquest-core-tasktrees-test/src/test/java/de/ugoe/cs/autoquest/tasktrees/temporalrelation/TrackBarSelectionDetectionRuleTest.java
===================================================================
--- trunk/autoquest-core-tasktrees-test/src/test/java/de/ugoe/cs/autoquest/tasktrees/temporalrelation/TrackBarSelectionDetectionRuleTest.java	(revision 973)
+++ trunk/autoquest-core-tasktrees-test/src/test/java/de/ugoe/cs/autoquest/tasktrees/temporalrelation/TrackBarSelectionDetectionRuleTest.java	(revision 974)
@@ -41,54 +41,54 @@
         new TaskTreeChecker().assertTaskTree
             ("Sequence sequence1 {" +
-             "  Iteration interation1 {" +
-             "    Selection selection1 {" +
-             "      Event ValueSelection {}" +
-             "    }" +
-             "  }" +
-             "}", getTaskTree());
-
-        simulateEvent(new ValueSelection<Integer>(2), element1);
-        new TaskTreeChecker().assertTaskTree
-            ("Sequence sequence1 {" +
-             "  Iteration interation1 {" +
-             "    Selection selection1 {" +
-             "      Event ValueSelection {}" +
-             "      Event ValueSelection {}" +
-             "    }" +
-             "  }" +
-             "}", getTaskTree());
-
-        simulateEvent(new ValueSelection<Integer>(3), element1);
-        new TaskTreeChecker().assertTaskTree
-            ("Sequence sequence1 {" +
-             "  Iteration interation1 {" +
-             "    Selection selection1 {" +
-             "      Event ValueSelection {}" +
-             "      Event ValueSelection {}" +
-             "      Event ValueSelection {}" +
-             "    }" +
-             "  }" +
-             "}", getTaskTree());
-
-        simulateEvent(new ValueSelection<Integer>(2), element1);
-        new TaskTreeChecker().assertTaskTree
-            ("Sequence sequence1 {" +
-             "  Iteration interation1 {" +
-             "    Selection selection1 {" +
-             "      Event ValueSelection {}" +
-             "      Event ValueSelection {}" +
-             "      Event ValueSelection {}" +
-             "    }" +
-             "  }" +
-             "}", getTaskTree());
-
-        simulateEvent(new ValueSelection<Integer>(3), element1);
-        new TaskTreeChecker().assertTaskTree
-            ("Sequence sequence1 {" +
-             "  Iteration interation1 {" +
-             "    Selection selection1 {" +
-             "      Event ValueSelection {}" +
-             "      Event ValueSelection {}" +
-             "      Event ValueSelection {}" +
+             "  Iteration iteration1 {" +
+             "    Selection selection1 {" +
+             "      Event ValueSelection(\"1\") {}" +
+             "    }" +
+             "  }" +
+             "}", getTaskTree());
+
+        simulateEvent(new ValueSelection<Integer>(2), element1);
+        new TaskTreeChecker().assertTaskTree
+            ("Sequence sequence1 {" +
+             "  Iteration iteration1 {" +
+             "    Selection selection1 {" +
+             "      Event ValueSelection(\"1\") {}" +
+             "      Event ValueSelection(\"2\") {}" +
+             "    }" +
+             "  }" +
+             "}", getTaskTree());
+
+        simulateEvent(new ValueSelection<Integer>(3), element1);
+        new TaskTreeChecker().assertTaskTree
+            ("Sequence sequence1 {" +
+             "  Iteration iteration1 {" +
+             "    Selection selection1 {" +
+             "      Event ValueSelection(\"1\") {}" +
+             "      Event ValueSelection(\"2\") {}" +
+             "      Event ValueSelection(\"3\") {}" +
+             "    }" +
+             "  }" +
+             "}", getTaskTree());
+
+        simulateEvent(new ValueSelection<Integer>(2), element1);
+        new TaskTreeChecker().assertTaskTree
+            ("Sequence sequence1 {" +
+             "  Iteration iteration1 {" +
+             "    Selection selection1 {" +
+             "      Event ValueSelection(\"1\") {}" +
+             "      Event ValueSelection(\"2\") {}" +
+             "      Event ValueSelection(\"3\") {}" +
+             "    }" +
+             "  }" +
+             "}", getTaskTree());
+
+        simulateEvent(new ValueSelection<Integer>(3), element1);
+        new TaskTreeChecker().assertTaskTree
+            ("Sequence sequence1 {" +
+             "  Iteration iteration1 {" +
+             "    Selection selection1 {" +
+             "      Event ValueSelection(\"1\") {}" +
+             "      Event ValueSelection(\"2\") {}" +
+             "      Event ValueSelection(\"3\") {}" +
              "    }" +
              "  }" +
@@ -122,31 +122,76 @@
         new TaskTreeChecker().assertTaskTree
             ("Sequence sequence1 {" +
-             "  Iteration interation1 {" +
-             "    Selection selection1 {" +
-             "      Event ValueSelection {}" +
-             "      Event ValueSelection {}" +
-             "      Event ValueSelection {}" +
-             "    }" +
-             "  }" +
-             "  Event bla {}" +
-             "  Event bla {}" +
-             "  Iteration interation2 {" +
+             "  Iteration iteration1 {" +
+             "    Selection selection1 {" +
+             "      Event ValueSelection(\"1\") {}" +
+             "      Event ValueSelection(\"2\") {}" +
+             "      Event ValueSelection(\"3\") {}" +
+             "    }" +
+             "  }" +
+             "  Event bla {}" +
+             "  Event bla {}" +
+             "  Iteration iteration2 {" +
              "    Selection selection2 {" +
-             "      Event ValueSelection {}" +
-             "      Event ValueSelection {}" +
-             "    }" +
-             "  }" +
-             "  Event bla {}" +
-             "  Iteration interation3 {" +
+             "      Event ValueSelection(\"2\") {}" +
+             "      Event ValueSelection(\"1\") {}" +
+             "    }" +
+             "  }" +
+             "  Event bla {}" +
+             "  Iteration iteration3 {" +
              "    Selection selection3 {" +
-             "      Event ValueSelection {}" +
-             "      Event ValueSelection {}" +
-             "    }" +
-             "  }" +
-             "  Event bla {}" +
-             "  Event bla {}" +
-             "  Iteration interation4 {" +
+             "      Event ValueSelection(\"3\") {}" +
+             "      Event ValueSelection(\"2\") {}" +
+             "    }" +
+             "  }" +
+             "  Event bla {}" +
+             "  Event bla {}" +
+             "  Iteration iteration4 {" +
              "    Selection selection4 {" +
-             "      Event ValueSelection {}" +
+             "      Event ValueSelection(\"1\") {}" +
+             "    }" +
+             "  }" +
+             "}", getTaskTree());
+    }
+
+    /**
+     *
+     */
+    @Test
+    public void testSubsequentSelectionsOnDifferentTrackbars() throws Exception {
+        IGUIElement element1 = new DummyTrackBar();
+        IGUIElement element2 = new DummyTrackBar();
+        simulateEvent(new ValueSelection<Integer>(1), element1);
+        simulateEvent(new ValueSelection<Integer>(2), element1);
+        simulateEvent(new ValueSelection<Integer>(3), element1);
+        simulateEvent(new ValueSelection<Integer>(1), element1);
+        simulateEvent(new ValueSelection<Integer>(2), element2);
+        simulateEvent(new ValueSelection<Integer>(1), element2);
+        simulateEvent(new ValueSelection<Integer>(3), element1);
+        simulateEvent(new ValueSelection<Integer>(2), element1);
+        simulateEvent(new ValueSelection<Integer>(3), element1);
+        simulateEvent(new ValueSelection<Integer>(1), element2);
+        simulateEvent(new ValueSelection<Integer>(1), element2);
+
+        new TaskTreeChecker().assertTaskTree
+            ("Sequence sequence1 {" +
+             "  Iteration iteration1 {" +
+             "    Sequence sequence2 {" +
+             "      Sequence sequence3 {" +
+             "        Iteration iteration2 {" +
+             "          Selection selection1 {" +
+             "            Event ValueSelection(\"1\") {}" +
+             "            Event ValueSelection(\"3\") {}" +
+             "            Event ValueSelection(\"2\") {}" +
+             "          }" +
+             "        }" +
+             "      }" +
+             "      Sequence sequence4 {" +
+             "        Iteration iteration3 {" +
+             "          Selection selection2 {" +
+             "            Event ValueSelection(\"2\") {}" +
+             "            Event ValueSelection(\"1\") {}" +
+             "          }" +
+             "        }" +
+             "      }" +
              "    }" +
              "  }" +
