Index: trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/tasktree/FilterResult.java
===================================================================
--- trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/tasktree/FilterResult.java	(revision 1150)
+++ trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/tasktree/FilterResult.java	(revision 1152)
@@ -20,5 +20,5 @@
 import com.google.common.collect.Lists;
 
-import de.ugoe.cs.autoquest.tasktrees.treeifc.ITaskTreeNode;
+import de.ugoe.cs.autoquest.tasktrees.treeifc.ITask;
 
 /**
@@ -34,7 +34,7 @@
     private final Predicate filterPredicate;
 
-    private List<ITaskTreeNode> filteredNodes = Lists.newArrayList();
+    private List<ITask> filteredTasks = Lists.newArrayList();
 
-    private List<ITaskTreeNode> nodesNotMatchedFilter = Lists.newArrayList();
+    private List<ITask> tasksNotMatchedFilter = Lists.newArrayList();
 
     @SuppressWarnings("rawtypes")
@@ -44,27 +44,27 @@
 
     @SuppressWarnings("unchecked")
-    public void addNode(ITaskTreeNode node) {
-        if (filterPredicate.apply(node)) {
-            filteredNodes.add(node);
+    public void addTask(ITask task) {
+        if (filterPredicate.apply(task)) {
+            filteredTasks.add(task);
         }
         else {
-            nodesNotMatchedFilter.add(node);
+            tasksNotMatchedFilter.add(task);
         }
     }
 
-    public List<ITaskTreeNode> nodesMatchedFilter() {
-        return this.filteredNodes;
+    public List<ITask> tasksMatchedFilter() {
+        return this.filteredTasks;
     }
 
-    public int nrOfNodesMatchedFilter() {
-        return this.filteredNodes.size();
+    public int nrOfTasksMatchedFilter() {
+        return this.filteredTasks.size();
     }
 
-    public List<ITaskTreeNode> nodesNotMatchedFilter() {
-        return this.nodesNotMatchedFilter;
+    public List<ITask> tasksNotMatchedFilter() {
+        return this.tasksNotMatchedFilter;
     }
 
-    public int nrOfNodesNotMatchedFilter() {
-        return this.nodesNotMatchedFilter.size();
+    public int nrOfTasksNotMatchedFilter() {
+        return this.tasksNotMatchedFilter.size();
     }
 
Index: trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/tasktree/IterativeDFSFilterStrategy.java
===================================================================
--- trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/tasktree/IterativeDFSFilterStrategy.java	(revision 1150)
+++ trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/tasktree/IterativeDFSFilterStrategy.java	(revision 1152)
@@ -22,9 +22,11 @@
 import de.ugoe.cs.autoquest.eventcore.IEventTarget;
 import de.ugoe.cs.autoquest.eventcore.IEventType;
-import de.ugoe.cs.autoquest.tasktrees.treeifc.ITaskTree;
-import de.ugoe.cs.autoquest.tasktrees.treeifc.ITaskTreeNode;
+import de.ugoe.cs.autoquest.tasktrees.treeifc.IMarkingTemporalRelationship;
+import de.ugoe.cs.autoquest.tasktrees.treeifc.IStructuringTemporalRelationship;
+import de.ugoe.cs.autoquest.tasktrees.treeifc.ITask;
+import de.ugoe.cs.autoquest.tasktrees.treeifc.ITaskModel;
 import de.ugoe.cs.autoquest.usability.tasktree.filters.EventTargetFilter;
 import de.ugoe.cs.autoquest.usability.tasktree.filters.EventTypeFilter;
-import de.ugoe.cs.autoquest.usability.tasktree.filters.TaskTreeNodeTypeFilter;
+import de.ugoe.cs.autoquest.usability.tasktree.filters.TaskTypeFilter;
 
 /**
@@ -35,5 +37,5 @@
  * @author Alexander Deicke
  */
-public class IterativeDFSFilterStrategy implements TaskTreeFilterStrategy {
+public class IterativeDFSFilterStrategy implements TaskModelFilterStrategy {
 
     private FilterResult filterStatistic;
@@ -41,8 +43,8 @@
     @SuppressWarnings("unchecked")
     @Override
-    public FilterResult filter(ITaskTree taskTree, EventTargetFilter eventTarget) {
+    public FilterResult filter(ITaskModel taskModel, EventTargetFilter eventTarget) {
         Predicate<IEventTarget> filterPredicate = eventTarget.filterPredicate();
         this.filterStatistic = new FilterResult(filterPredicate);
-        traverse(taskTree);
+        traverse(taskModel);
         return this.filterStatistic;
     }
@@ -50,8 +52,8 @@
     @SuppressWarnings("unchecked")
     @Override
-    public FilterResult filter(ITaskTree taskTree, EventTypeFilter eventType) {
+    public FilterResult filter(ITaskModel taskModel, EventTypeFilter eventType) {
         Predicate<IEventType> filterPredicate = eventType.filterPredicate();
         this.filterStatistic = new FilterResult(filterPredicate);
-        traverse(taskTree);
+        traverse(taskModel);
         return this.filterStatistic;
     }
@@ -59,34 +61,39 @@
     @SuppressWarnings("unchecked")
     @Override
-    public FilterResult filter(ITaskTree taskTree, TaskTreeNodeTypeFilter nodeType) {
-        Predicate<ITaskTreeNode> filterPredicate = nodeType.filterPredicate();
+    public FilterResult filter(ITaskModel taskModel, TaskTypeFilter nodeType) {
+        Predicate<ITask> filterPredicate = nodeType.filterPredicate();
         this.filterStatistic = new FilterResult(filterPredicate);
-        traverse(taskTree);
+        traverse(taskModel);
         return this.filterStatistic;
     }
 
-    private void traverse(ITaskTree taskTree) {
-        Queue<ITaskTreeNode> unvisitedNodes = new LinkedList<ITaskTreeNode>();
-        unvisitedNodes.add(taskTree.getRoot());
-        while (stillUnvisitedNodes(unvisitedNodes)) {
-            ITaskTreeNode node = unvisitedNodes.poll();
-            processCurrentNode(node);
-            processChildrenOfCurrentNode(unvisitedNodes, node);
+    private void traverse(ITaskModel taskModel) {
+        Queue<ITask> unvisitedTasks = new LinkedList<ITask>();
+        unvisitedTasks.addAll(taskModel.getTasks());
+        while (stillUnvisitedTasks(unvisitedTasks)) {
+            ITask task = unvisitedTasks.poll();
+            processCurrentTask(task);
+            processChildrenOfCurrentTask(unvisitedTasks, task);
         }
     }
 
-    private boolean stillUnvisitedNodes(Queue<ITaskTreeNode> unvisitedNodes) {
-        return !unvisitedNodes.isEmpty();
+    private boolean stillUnvisitedTasks(Queue<ITask> unvisitedTasks) {
+        return !unvisitedTasks.isEmpty();
     }
 
-    private void processCurrentNode(ITaskTreeNode node) {
-        this.filterStatistic.addNode(node);
+    private void processCurrentTask(ITask task) {
+        this.filterStatistic.addTask(task);
     }
 
-    private void processChildrenOfCurrentNode(Queue<ITaskTreeNode> unvisitedNodes,
-                                              ITaskTreeNode node)
+    private void processChildrenOfCurrentTask(Queue<ITask> unvisitedTasks,
+                                              ITask task)
     {
-        for (ITaskTreeNode child : node.getChildren()) {
-            unvisitedNodes.add(child);
+        if (task instanceof IStructuringTemporalRelationship) {
+            for (ITask child : ((IStructuringTemporalRelationship) task).getChildren()) {
+                unvisitedTasks.add(child);
+            }
+        }
+        else if (task instanceof IMarkingTemporalRelationship) {
+            unvisitedTasks.add(((IMarkingTemporalRelationship) task).getMarkedTask());
         }
     }
Index: trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/tasktree/TaskModelFilterStrategy.java
===================================================================
--- trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/tasktree/TaskModelFilterStrategy.java	(revision 1152)
+++ trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/tasktree/TaskModelFilterStrategy.java	(revision 1152)
@@ -0,0 +1,37 @@
+//   Copyright 2012 Georg-August-Universität Göttingen, Germany
+//
+//   Licensed under the Apache License, Version 2.0 (the "License");
+//   you may not use this file except in compliance with the License.
+//   You may obtain a copy of the License at
+//
+//       http://www.apache.org/licenses/LICENSE-2.0
+//
+//   Unless required by applicable law or agreed to in writing, software
+//   distributed under the License is distributed on an "AS IS" BASIS,
+//   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//   See the License for the specific language governing permissions and
+//   limitations under the License.
+
+package de.ugoe.cs.autoquest.usability.tasktree;
+
+import de.ugoe.cs.autoquest.tasktrees.treeifc.ITaskModel;
+import de.ugoe.cs.autoquest.usability.tasktree.filters.EventTargetFilter;
+import de.ugoe.cs.autoquest.usability.tasktree.filters.EventTypeFilter;
+import de.ugoe.cs.autoquest.usability.tasktree.filters.TaskTypeFilter;
+
+/**
+ * <p>
+ * TODO comment
+ * </p>
+ * 
+ * @author Alexander Deicke
+ */
+public interface TaskModelFilterStrategy {
+
+    public FilterResult filter(ITaskModel taskModel, EventTargetFilter eventTarget);
+
+    public FilterResult filter(ITaskModel taskModel, EventTypeFilter eventType);
+
+    public FilterResult filter(ITaskModel taskModel, TaskTypeFilter nodeType);
+
+}
Index: trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/tasktree/TaskTreeFilterStrategy.java
===================================================================
--- trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/tasktree/TaskTreeFilterStrategy.java	(revision 1150)
+++ 	(revision )
@@ -1,37 +1,0 @@
-//   Copyright 2012 Georg-August-Universität Göttingen, Germany
-//
-//   Licensed under the Apache License, Version 2.0 (the "License");
-//   you may not use this file except in compliance with the License.
-//   You may obtain a copy of the License at
-//
-//       http://www.apache.org/licenses/LICENSE-2.0
-//
-//   Unless required by applicable law or agreed to in writing, software
-//   distributed under the License is distributed on an "AS IS" BASIS,
-//   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//   See the License for the specific language governing permissions and
-//   limitations under the License.
-
-package de.ugoe.cs.autoquest.usability.tasktree;
-
-import de.ugoe.cs.autoquest.tasktrees.treeifc.ITaskTree;
-import de.ugoe.cs.autoquest.usability.tasktree.filters.EventTargetFilter;
-import de.ugoe.cs.autoquest.usability.tasktree.filters.EventTypeFilter;
-import de.ugoe.cs.autoquest.usability.tasktree.filters.TaskTreeNodeTypeFilter;
-
-/**
- * <p>
- * TODO comment
- * </p>
- * 
- * @author Alexander Deicke
- */
-public interface TaskTreeFilterStrategy {
-
-    public FilterResult filter(ITaskTree taskTree, EventTargetFilter eventTarget);
-
-    public FilterResult filter(ITaskTree taskTree, EventTypeFilter eventType);
-
-    public FilterResult filter(ITaskTree taskTree, TaskTreeNodeTypeFilter nodeType);
-
-}
Index: trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/tasktree/filters/EventTargetFilter.java
===================================================================
--- trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/tasktree/filters/EventTargetFilter.java	(revision 1150)
+++ trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/tasktree/filters/EventTargetFilter.java	(revision 1152)
@@ -23,5 +23,5 @@
 import de.ugoe.cs.autoquest.eventcore.guimodel.ITextField;
 import de.ugoe.cs.autoquest.tasktrees.treeifc.IEventTask;
-import de.ugoe.cs.autoquest.tasktrees.treeifc.ITaskTreeNode;
+import de.ugoe.cs.autoquest.tasktrees.treeifc.ITask;
 
 /**
@@ -32,5 +32,5 @@
  * @author Alexander Deicke
  */
-public enum EventTargetFilter implements TaskTreeNodeFilter<IEventTarget> {
+public enum EventTargetFilter implements TaskFilter<IEventTarget> {
 
     TEXT_FIELD(ITextField.class),
@@ -54,15 +54,15 @@
     public Predicate filterPredicate() {
         Predicate<Object> instanceOfIEventTaskPredicate = Predicates.instanceOf(IEventTask.class);
-        Predicate<ITaskTreeNode> nodeHoldsInstanceOfFilterArgument =
-            Predicates.compose(Predicates.instanceOf(eventTargetClazz), nodeExtractionFunction());
-        return Predicates.and(instanceOfIEventTaskPredicate, nodeHoldsInstanceOfFilterArgument);
+        Predicate<ITask> taskHoldsInstanceOfFilterArgument =
+            Predicates.compose(Predicates.instanceOf(eventTargetClazz), taskExtractionFunction());
+        return Predicates.and(instanceOfIEventTaskPredicate, taskHoldsInstanceOfFilterArgument);
     }
 
-    private Function<ITaskTreeNode, IEventTarget> nodeExtractionFunction() {
-        return new Function<ITaskTreeNode, IEventTarget>() {
+    private Function<ITask, IEventTarget> taskExtractionFunction() {
+        return new Function<ITask, IEventTarget>() {
 
             @Override
-            public IEventTarget apply(ITaskTreeNode treeNode) {
-                return ((IEventTask) treeNode).getEventTarget();
+            public IEventTarget apply(ITask task) {
+                return ((IEventTask) task).getEventTarget();
             }
         };
Index: trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/tasktree/filters/EventTypeFilter.java
===================================================================
--- trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/tasktree/filters/EventTypeFilter.java	(revision 1150)
+++ trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/tasktree/filters/EventTypeFilter.java	(revision 1152)
@@ -27,5 +27,5 @@
 import de.ugoe.cs.autoquest.eventcore.gui.TextInput;
 import de.ugoe.cs.autoquest.tasktrees.treeifc.IEventTask;
-import de.ugoe.cs.autoquest.tasktrees.treeifc.ITaskTreeNode;
+import de.ugoe.cs.autoquest.tasktrees.treeifc.ITask;
 
 /**
@@ -36,5 +36,5 @@
  * @author Alexander Deicke
  */
-public enum EventTypeFilter implements TaskTreeNodeFilter<IEventType> {
+public enum EventTypeFilter implements TaskFilter<IEventType> {
 
     MOUSE_BUTTON_INTERACTION(MouseButtonInteraction.class),
@@ -66,15 +66,15 @@
     public Predicate filterPredicate() {
         Predicate<Object> instanceOfIEventTaskPredicate = Predicates.instanceOf(IEventTask.class);
-        Predicate<ITaskTreeNode> nodeHoldsInstanceOfFilterArgument =
-            Predicates.compose(Predicates.instanceOf(eventTypeClazz), nodeExtractionFunction());
-        return Predicates.and(instanceOfIEventTaskPredicate, nodeHoldsInstanceOfFilterArgument);
+        Predicate<ITask> taskHoldsInstanceOfFilterArgument =
+            Predicates.compose(Predicates.instanceOf(eventTypeClazz), taskExtractionFunction());
+        return Predicates.and(instanceOfIEventTaskPredicate, taskHoldsInstanceOfFilterArgument);
     }
 
-    private Function<ITaskTreeNode, IEventType> nodeExtractionFunction() {
-        return new Function<ITaskTreeNode, IEventType>() {
+    private Function<ITask, IEventType> taskExtractionFunction() {
+        return new Function<ITask, IEventType>() {
 
             @Override
-            public IEventType apply(ITaskTreeNode treeNode) {
-                return ((IEventTask) treeNode).getEventType();
+            public IEventType apply(ITask task) {
+                return ((IEventTask) task).getEventType();
             }
         };
Index: trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/tasktree/filters/TaskFilter.java
===================================================================
--- trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/tasktree/filters/TaskFilter.java	(revision 1152)
+++ trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/tasktree/filters/TaskFilter.java	(revision 1152)
@@ -0,0 +1,33 @@
+//   Copyright 2012 Georg-August-Universität Göttingen, Germany
+//
+//   Licensed under the Apache License, Version 2.0 (the "License");
+//   you may not use this file except in compliance with the License.
+//   You may obtain a copy of the License at
+//
+//       http://www.apache.org/licenses/LICENSE-2.0
+//
+//   Unless required by applicable law or agreed to in writing, software
+//   distributed under the License is distributed on an "AS IS" BASIS,
+//   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//   See the License for the specific language governing permissions and
+//   limitations under the License.
+
+package de.ugoe.cs.autoquest.usability.tasktree.filters;
+
+import com.google.common.base.Predicate;
+
+/**
+ * <p>
+ * TODO comment
+ * </p>
+ * 
+ * @author Alexander Deicke
+ */
+public interface TaskFilter<T> {
+
+    public Class<T> clazz();
+
+    @SuppressWarnings("rawtypes")
+    public Predicate filterPredicate();
+
+}
Index: trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/tasktree/filters/TaskModelFilter.java
===================================================================
--- trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/tasktree/filters/TaskModelFilter.java	(revision 1152)
+++ trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/tasktree/filters/TaskModelFilter.java	(revision 1152)
@@ -0,0 +1,92 @@
+//   Copyright 2012 Georg-August-Universität Göttingen, Germany
+//
+//   Licensed under the Apache License, Version 2.0 (the "License");
+//   you may not use this file except in compliance with the License.
+//   You may obtain a copy of the License at
+//
+//       http://www.apache.org/licenses/LICENSE-2.0
+//
+//   Unless required by applicable law or agreed to in writing, software
+//   distributed under the License is distributed on an "AS IS" BASIS,
+//   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//   See the License for the specific language governing permissions and
+//   limitations under the License.
+
+package de.ugoe.cs.autoquest.usability.tasktree.filters;
+
+import com.google.common.base.Preconditions;
+
+import de.ugoe.cs.autoquest.tasktrees.treeifc.ITaskModel;
+import de.ugoe.cs.autoquest.usability.tasktree.FilterResult;
+import de.ugoe.cs.autoquest.usability.tasktree.TaskModelFilterStrategy;
+
+/**
+ * <p>
+ * TODO comment
+ * </p>
+ * 
+ * @author Alexander Deicke
+ */
+public class TaskModelFilter {
+
+    private final TaskModelFilterStrategy taskModelFilterStrategy;
+
+    public TaskModelFilter(TaskModelFilterStrategy treeTraversalStrategy) {
+        Preconditions.checkNotNull(treeTraversalStrategy);
+        this.taskModelFilterStrategy = treeTraversalStrategy;
+    }
+
+    public FilterEventTargetStep filterByEventTarget(EventTargetFilter eventTarget) {
+        return new FilterEventTargetStep(eventTarget);
+    }
+
+    public FilterEventTypeStep filterByEventType(EventTypeFilter eventType) {
+        return new FilterEventTypeStep(eventType);
+    }
+
+    public FilterNodeTypeStep filterByNodeType(TaskTypeFilter nodeType) {
+        return new FilterNodeTypeStep(nodeType);
+    }
+
+    public class FilterEventTargetStep {
+
+        private final EventTargetFilter eventTarget;
+
+        public FilterEventTargetStep(EventTargetFilter eventTarget) {
+            this.eventTarget = eventTarget;
+        }
+
+        public FilterResult from(ITaskModel taskModel) {
+            return taskModelFilterStrategy.filter(taskModel, eventTarget);
+        }
+
+    }
+
+    public class FilterEventTypeStep {
+
+        private final EventTypeFilter eventType;
+
+        public FilterEventTypeStep(EventTypeFilter eventType) {
+            this.eventType = eventType;
+        }
+
+        public FilterResult from(ITaskModel taskModel) {
+            return taskModelFilterStrategy.filter(taskModel, eventType);
+        }
+
+    }
+
+    public class FilterNodeTypeStep {
+
+        private final TaskTypeFilter nodeType;
+
+        public FilterNodeTypeStep(TaskTypeFilter nodeType) {
+            this.nodeType = nodeType;
+        }
+
+        public FilterResult from(ITaskModel taskModel) {
+            return taskModelFilterStrategy.filter(taskModel, nodeType);
+        }
+
+    }
+}
Index: trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/tasktree/filters/TaskTreeFilter.java
===================================================================
--- trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/tasktree/filters/TaskTreeFilter.java	(revision 1150)
+++ 	(revision )
@@ -1,92 +1,0 @@
-//   Copyright 2012 Georg-August-Universität Göttingen, Germany
-//
-//   Licensed under the Apache License, Version 2.0 (the "License");
-//   you may not use this file except in compliance with the License.
-//   You may obtain a copy of the License at
-//
-//       http://www.apache.org/licenses/LICENSE-2.0
-//
-//   Unless required by applicable law or agreed to in writing, software
-//   distributed under the License is distributed on an "AS IS" BASIS,
-//   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//   See the License for the specific language governing permissions and
-//   limitations under the License.
-
-package de.ugoe.cs.autoquest.usability.tasktree.filters;
-
-import com.google.common.base.Preconditions;
-
-import de.ugoe.cs.autoquest.tasktrees.treeifc.ITaskTree;
-import de.ugoe.cs.autoquest.usability.tasktree.FilterResult;
-import de.ugoe.cs.autoquest.usability.tasktree.TaskTreeFilterStrategy;
-
-/**
- * <p>
- * TODO comment
- * </p>
- * 
- * @author Alexander Deicke
- */
-public class TaskTreeFilter {
-
-    private final TaskTreeFilterStrategy taskTreeFilterStrategy;
-
-    public TaskTreeFilter(TaskTreeFilterStrategy treeTraversalStrategy) {
-        Preconditions.checkNotNull(treeTraversalStrategy);
-        this.taskTreeFilterStrategy = treeTraversalStrategy;
-    }
-
-    public FilterEventTargetStep filterByEventTarget(EventTargetFilter eventTarget) {
-        return new FilterEventTargetStep(eventTarget);
-    }
-
-    public FilterEventTypeStep filterByEventType(EventTypeFilter eventType) {
-        return new FilterEventTypeStep(eventType);
-    }
-
-    public FilterNodeTypeStep filterByNodeType(TaskTreeNodeTypeFilter nodeType) {
-        return new FilterNodeTypeStep(nodeType);
-    }
-
-    public class FilterEventTargetStep {
-
-        private final EventTargetFilter eventTarget;
-
-        public FilterEventTargetStep(EventTargetFilter eventTarget) {
-            this.eventTarget = eventTarget;
-        }
-
-        public FilterResult from(ITaskTree taskTree) {
-            return taskTreeFilterStrategy.filter(taskTree, eventTarget);
-        }
-
-    }
-
-    public class FilterEventTypeStep {
-
-        private final EventTypeFilter eventType;
-
-        public FilterEventTypeStep(EventTypeFilter eventType) {
-            this.eventType = eventType;
-        }
-
-        public FilterResult from(ITaskTree taskTree) {
-            return taskTreeFilterStrategy.filter(taskTree, eventType);
-        }
-
-    }
-
-    public class FilterNodeTypeStep {
-
-        private final TaskTreeNodeTypeFilter nodeType;
-
-        public FilterNodeTypeStep(TaskTreeNodeTypeFilter nodeType) {
-            this.nodeType = nodeType;
-        }
-
-        public FilterResult from(ITaskTree taskTree) {
-            return taskTreeFilterStrategy.filter(taskTree, nodeType);
-        }
-
-    }
-}
Index: trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/tasktree/filters/TaskTreeNodeFilter.java
===================================================================
--- trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/tasktree/filters/TaskTreeNodeFilter.java	(revision 1150)
+++ 	(revision )
@@ -1,33 +1,0 @@
-//   Copyright 2012 Georg-August-Universität Göttingen, Germany
-//
-//   Licensed under the Apache License, Version 2.0 (the "License");
-//   you may not use this file except in compliance with the License.
-//   You may obtain a copy of the License at
-//
-//       http://www.apache.org/licenses/LICENSE-2.0
-//
-//   Unless required by applicable law or agreed to in writing, software
-//   distributed under the License is distributed on an "AS IS" BASIS,
-//   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//   See the License for the specific language governing permissions and
-//   limitations under the License.
-
-package de.ugoe.cs.autoquest.usability.tasktree.filters;
-
-import com.google.common.base.Predicate;
-
-/**
- * <p>
- * TODO comment
- * </p>
- * 
- * @author Alexander Deicke
- */
-public interface TaskTreeNodeFilter<T> {
-
-    public Class<T> clazz();
-
-    @SuppressWarnings("rawtypes")
-    public Predicate filterPredicate();
-
-}
Index: trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/tasktree/filters/TaskTreeNodeTypeFilter.java
===================================================================
--- trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/tasktree/filters/TaskTreeNodeTypeFilter.java	(revision 1150)
+++ 	(revision )
@@ -1,61 +1,0 @@
-//   Copyright 2012 Georg-August-Universität Göttingen, Germany
-//
-//   Licensed under the Apache License, Version 2.0 (the "License");
-//   you may not use this file except in compliance with the License.
-//   You may obtain a copy of the License at
-//
-//       http://www.apache.org/licenses/LICENSE-2.0
-//
-//   Unless required by applicable law or agreed to in writing, software
-//   distributed under the License is distributed on an "AS IS" BASIS,
-//   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//   See the License for the specific language governing permissions and
-//   limitations under the License.
-
-package de.ugoe.cs.autoquest.usability.tasktree.filters;
-
-import com.google.common.base.Predicate;
-import com.google.common.base.Predicates;
-
-import de.ugoe.cs.autoquest.tasktrees.treeifc.IEventTask;
-import de.ugoe.cs.autoquest.tasktrees.treeifc.IIteration;
-import de.ugoe.cs.autoquest.tasktrees.treeifc.ISelection;
-import de.ugoe.cs.autoquest.tasktrees.treeifc.ISequence;
-import de.ugoe.cs.autoquest.tasktrees.treeifc.ITaskTreeNode;
-
-/**
- * <p>
- * TODO comment
- * </p>
- * 
- * @author Alexander Deicke
- */
-public enum TaskTreeNodeTypeFilter implements TaskTreeNodeFilter<ITaskTreeNode> {
-
-    EVENT_TASK_NODE(IEventTask.class),
-    
-    ITERATION(IIteration.class),
-    
-    SEQUENCE(ISequence.class),
-    
-    SELECTION(ISelection.class),;
-
-    private Class<? extends ITaskTreeNode> nodeTypeClazz;
-
-    private TaskTreeNodeTypeFilter(Class<? extends ITaskTreeNode> nodeTypeClazz) {
-        this.nodeTypeClazz = nodeTypeClazz;
-    }
-
-    @SuppressWarnings("unchecked")
-    @Override
-    public Class<ITaskTreeNode> clazz() {
-        return (Class<ITaskTreeNode>) this.nodeTypeClazz;
-    }
-
-    @SuppressWarnings("rawtypes")
-    @Override
-    public Predicate filterPredicate() {
-        return Predicates.instanceOf(nodeTypeClazz);
-    }
-
-}
Index: trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/tasktree/filters/TaskTypeFilter.java
===================================================================
--- trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/tasktree/filters/TaskTypeFilter.java	(revision 1152)
+++ trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/tasktree/filters/TaskTypeFilter.java	(revision 1152)
@@ -0,0 +1,61 @@
+//   Copyright 2012 Georg-August-Universität Göttingen, Germany
+//
+//   Licensed under the Apache License, Version 2.0 (the "License");
+//   you may not use this file except in compliance with the License.
+//   You may obtain a copy of the License at
+//
+//       http://www.apache.org/licenses/LICENSE-2.0
+//
+//   Unless required by applicable law or agreed to in writing, software
+//   distributed under the License is distributed on an "AS IS" BASIS,
+//   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//   See the License for the specific language governing permissions and
+//   limitations under the License.
+
+package de.ugoe.cs.autoquest.usability.tasktree.filters;
+
+import com.google.common.base.Predicate;
+import com.google.common.base.Predicates;
+
+import de.ugoe.cs.autoquest.tasktrees.treeifc.IEventTask;
+import de.ugoe.cs.autoquest.tasktrees.treeifc.IIteration;
+import de.ugoe.cs.autoquest.tasktrees.treeifc.ISelection;
+import de.ugoe.cs.autoquest.tasktrees.treeifc.ISequence;
+import de.ugoe.cs.autoquest.tasktrees.treeifc.ITask;
+
+/**
+ * <p>
+ * TODO comment
+ * </p>
+ * 
+ * @author Alexander Deicke
+ */
+public enum TaskTypeFilter implements TaskFilter<ITask> {
+
+    EVENT_TASK_NODE(IEventTask.class),
+    
+    ITERATION(IIteration.class),
+    
+    SEQUENCE(ISequence.class),
+    
+    SELECTION(ISelection.class),;
+
+    private Class<? extends ITask> taskTypeClazz;
+
+    private TaskTypeFilter(Class<? extends ITask> taskTypeClazz) {
+        this.taskTypeClazz = taskTypeClazz;
+    }
+
+    @SuppressWarnings("unchecked")
+    @Override
+    public Class<ITask> clazz() {
+        return (Class<ITask>) this.taskTypeClazz;
+    }
+
+    @SuppressWarnings("rawtypes")
+    @Override
+    public Predicate filterPredicate() {
+        return Predicates.instanceOf(taskTypeClazz);
+    }
+
+}
