Index: trunk/quest-core-tasktrees/src/main/java/de/ugoe/cs/quest/tasktrees/treeimpl/EventTask.java
===================================================================
--- trunk/quest-core-tasktrees/src/main/java/de/ugoe/cs/quest/tasktrees/treeimpl/EventTask.java	(revision 557)
+++ trunk/quest-core-tasktrees/src/main/java/de/ugoe/cs/quest/tasktrees/treeimpl/EventTask.java	(revision 557)
@@ -0,0 +1,89 @@
+// Module    : $RCSfile: InteractionTask.java,v $
+// Version   : $Revision: 0.0 $  $Author: Patrick $  $Date: 06.11.2011 10:57:52 $
+// Project   : TaskTreePerformanceTest
+// Creation  : 2011 by Patrick
+// Copyright : Patrick Harms, 2011
+
+package de.ugoe.cs.quest.tasktrees.treeimpl;
+
+import de.ugoe.cs.quest.eventcore.IEventTarget;
+import de.ugoe.cs.quest.eventcore.IEventType;
+import de.ugoe.cs.quest.tasktrees.treeifc.IEventTask;
+import de.ugoe.cs.quest.tasktrees.treeifc.ITaskTreeNode;
+
+/**
+ * TODO comment
+ * 
+ * @version $Revision: $ $Date: $
+ * @author 2011, last modified by $Author: $
+ */
+public class EventTask extends TaskTreeNode implements IEventTask {
+    
+    /** */
+    private IEventType eventType;
+
+    /** */
+    private IEventTarget eventTarget;
+
+    /**
+     * @param eventType
+     * @param eventTarget
+     */
+    EventTask(IEventType eventType, IEventTarget eventTarget) {
+        super(eventType.getName() + "(" + eventTarget + ")");
+        super.setDescription(eventType + " on " + eventTarget);
+        this.eventType = eventType;
+        this.eventTarget = eventTarget;
+    }
+
+    /**
+     * @return Returns the interaction.
+     */
+    public IEventType getEventType() {
+        return eventType;
+    }
+
+    /**
+     * @return Returns the GUIElement.
+     */
+    public IEventTarget getEventTarget() {
+        return eventTarget;
+    }
+
+    /*
+     * (non-Javadoc)
+     * 
+     * @see de.harms.ctte.Task#equals(de.harms.ctte.Task)
+     */
+    @Override
+    public boolean equals(ITaskTreeNode task) {
+        if (!(task instanceof IEventTask)) {
+            return false;
+        }
+
+        IEventType otherType = ((IEventTask) task).getEventType();
+        IEventTarget otherTarget = ((IEventTask) task).getEventTarget();
+
+        if (((eventType == otherType) ||
+             ((eventType != null) && (eventType.equals(otherType)))) &&
+            ((eventTarget == otherTarget) ||
+             ((eventTarget != null) && (eventTarget.equals(otherTarget)))))
+        {
+            return true;
+        }
+
+        return false;
+    }
+
+    /*
+     * (non-Javadoc)
+     * 
+     * @see de.harms.tasktrees.TreeNode#clone()
+     */
+    @Override
+    public EventTask clone() {
+        // Event type and target are unchangeable and do not need to be cloned
+        return (EventTask) super.clone();
+    }
+
+}
Index: trunk/quest-core-tasktrees/src/main/java/de/ugoe/cs/quest/tasktrees/treeimpl/InteractionTaskImpl.java
===================================================================
--- trunk/quest-core-tasktrees/src/main/java/de/ugoe/cs/quest/tasktrees/treeimpl/InteractionTaskImpl.java	(revision 470)
+++ 	(revision )
@@ -1,106 +1,0 @@
-//-------------------------------------------------------------------------------------------------
-// Module    : $RCSfile: InteractionTask.java,v $
-// Version   : $Revision: 0.0 $  $Author: Patrick $  $Date: 06.11.2011 10:57:52 $
-// Project   : TaskTreePerformanceTest
-// Creation  : 2011 by Patrick
-// Copyright : Patrick Harms, 2011
-//-------------------------------------------------------------------------------------------------
-
-package de.ugoe.cs.quest.tasktrees.treeimpl;
-
-import de.ugoe.cs.quest.eventcore.guimodel.GUIElement;
-import de.ugoe.cs.quest.eventcore.userinteraction.Interaction;
-import de.ugoe.cs.quest.tasktrees.treeifc.InteractionTask;
-import de.ugoe.cs.quest.tasktrees.treeifc.TaskTreeNode;
-
-//-------------------------------------------------------------------------------------------------
-/**
- * TODO comment
- *
- * @version $Revision: $ $Date: $
- * @author  2011, last modified by $Author: $
- */
-//-------------------------------------------------------------------------------------------------
-public class InteractionTaskImpl extends TaskTreeNodeImpl implements InteractionTask
-{
-  /** */
-  private GUIElement mGUIElement;
-  
-  /** */
-  private Interaction mInteraction;
-
-  //-----------------------------------------------------------------------------------------------
-  /**
-   * @param guiElement
-   * @param interaction
-   */
-  //-----------------------------------------------------------------------------------------------
-  InteractionTaskImpl(GUIElement guiElement, Interaction interaction)
-  {
-    super(interaction.getName() + "(" + guiElement + ")");
-    super.setDescription(interaction + " on " + guiElement);
-    mGUIElement = guiElement;
-    mInteraction = interaction;
-  }
-
-  //-----------------------------------------------------------------------------------------------
-  /**
-   * @return Returns the interaction.
-   */
-  //-----------------------------------------------------------------------------------------------
-  public Interaction getInteraction()
-  {
-    return mInteraction;
-  }
-
-  
-  //-----------------------------------------------------------------------------------------------
-  /**
-   * @return Returns the GUIElement.
-   */
-  //-----------------------------------------------------------------------------------------------
-  public GUIElement getGUIElement()
-  {
-    return mGUIElement;
-  }
-
-  //-----------------------------------------------------------------------------------------------
-  /* (non-Javadoc)
-   * @see de.harms.ctte.Task#equals(de.harms.ctte.Task)
-   */
-  //-----------------------------------------------------------------------------------------------
-  @Override
-  public boolean equals(TaskTreeNode task)
-  {
-    if (!(task instanceof InteractionTask))
-    {
-      return false;
-    }
-    
-    GUIElement otherInteractionElem = ((InteractionTask) task).getGUIElement();
-    Interaction otherInteraction = ((InteractionTask) task).getInteraction();
-    
-    if ((((mGUIElement == null) && (otherInteractionElem == null)) ||
-         ((mGUIElement != null) && (mGUIElement.equals(otherInteractionElem)))) &&
-        (((mInteraction == null) && (otherInteraction == null)) ||
-         ((mInteraction != null) && (mInteraction.equals(otherInteraction)))))
-    {
-      return true;
-    }
-    
-    return false;
-  }
-
-  //-----------------------------------------------------------------------------------------------
-  /* (non-Javadoc)
-   * @see de.harms.tasktrees.TreeNode#clone()
-   */
-  //-----------------------------------------------------------------------------------------------
-  @Override
-  public InteractionTaskImpl clone()
-  {
-    // GUI element and interaction are unchangeable and do not need to be cloned
-    return (InteractionTaskImpl) super.clone();
-  }
-
-}
Index: trunk/quest-core-tasktrees/src/main/java/de/ugoe/cs/quest/tasktrees/treeimpl/Iteration.java
===================================================================
--- trunk/quest-core-tasktrees/src/main/java/de/ugoe/cs/quest/tasktrees/treeimpl/Iteration.java	(revision 557)
+++ trunk/quest-core-tasktrees/src/main/java/de/ugoe/cs/quest/tasktrees/treeimpl/Iteration.java	(revision 557)
@@ -0,0 +1,63 @@
+// Module    : $RCSfile: Iteration.java,v $
+// Version   : $Revision: 0.0 $  $Author: patrick $  $Date: 19.02.2012 $
+// Project   : TaskTreeCreator
+// Creation  : 2012 by patrick
+// Copyright : Patrick Harms, 2012
+
+
+package de.ugoe.cs.quest.tasktrees.treeimpl;
+
+import de.ugoe.cs.quest.tasktrees.treeifc.IIteration;
+import de.ugoe.cs.quest.tasktrees.treeifc.ITaskTreeNode;
+
+/**
+ * TODO comment
+ * 
+ * @version $Revision: $ $Date: 19.02.2012$
+ * @author 2012, last modified by $Author: patrick$
+ */
+public class Iteration extends TaskTreeNode implements IIteration {
+
+    /**
+     *
+     */
+    Iteration() {
+        super("Iteration");
+    }
+
+    /*
+     * (non-Javadoc)
+     * 
+     * @see de.ugoe.cs.tasktree.treeifc.TaskTreeNode#addChild(TaskTreeNode)
+     */
+    @Override
+    public void addChild(ITaskTreeNode child) {
+        // adding more children is not allowed
+        throw new UnsupportedOperationException
+          ("iterations may not have a list of children. Use setChild() instead.");
+    }
+
+    /**
+     * TODO: comment
+     * 
+     * @param selection
+     * @return
+     */
+    public void setChild(ITaskTreeNode child) {
+        if (super.getChildren().size() > 0) {
+            super.removeChild(0);
+        }
+        super.addChild(child);
+    }
+
+    /*
+     * (non-Javadoc)
+     * 
+     * @see java.lang.Object#clone()
+     */
+    @Override
+    public Iteration clone() {
+        return (Iteration) super.clone();
+    }
+
+}
Index: trunk/quest-core-tasktrees/src/main/java/de/ugoe/cs/quest/tasktrees/treeimpl/IterationImpl.java
===================================================================
--- trunk/quest-core-tasktrees/src/main/java/de/ugoe/cs/quest/tasktrees/treeimpl/IterationImpl.java	(revision 470)
+++ 	(revision )
@@ -1,74 +1,0 @@
-//-------------------------------------------------------------------------------------------------
-// Module    : $RCSfile: Iteration.java,v $
-// Version   : $Revision: 0.0 $  $Author: patrick $  $Date: 19.02.2012 $
-// Project   : TaskTreeCreator
-// Creation  : 2012 by patrick
-// Copyright : Patrick Harms, 2012
-//-------------------------------------------------------------------------------------------------
-package de.ugoe.cs.quest.tasktrees.treeimpl;
-
-import de.ugoe.cs.quest.tasktrees.treeifc.Iteration;
-import de.ugoe.cs.quest.tasktrees.treeifc.TaskTreeNode;
-
-//-------------------------------------------------------------------------------------------------
-/**
- * TODO comment
- * 
- * @version $Revision: $ $Date: 19.02.2012$
- * @author 2012, last modified by $Author: patrick$
- */
-//-------------------------------------------------------------------------------------------------
-public class IterationImpl extends TaskTreeNodeImpl implements Iteration
-{
-
-  //-----------------------------------------------------------------------------------------------
-  /**
-   *
-   */
-  //-----------------------------------------------------------------------------------------------
-  IterationImpl()
-  {
-    super("Iteration");
-  }
-
-  //-----------------------------------------------------------------------------------------------
-  /* (non-Javadoc)
-   * @see de.ugoe.cs.tasktree.treeifc.TaskTreeNode#addChild(TaskTreeNode)
-   */
-  //-----------------------------------------------------------------------------------------------
-  @Override
-  public void addChild(TaskTreeNode child)
-  {
-    // adding more children is not allowed
-    throw new UnsupportedOperationException();
-  }
-
-  //-----------------------------------------------------------------------------------------------
-  /**
-   * TODO: comment
-   *
-   * @param selection
-   * @return
-   */
-  //-----------------------------------------------------------------------------------------------
-  public void setChild(TaskTreeNode child)
-  {
-    if (super.getChildren().size() > 0)
-    {
-      super.removeChild(0);
-    }
-    super.addChild(child);
-  }
-
-  //-----------------------------------------------------------------------------------------------
-  /* (non-Javadoc)
-   * @see java.lang.Object#clone()
-   */
-  //-----------------------------------------------------------------------------------------------
-  @Override
-  public IterationImpl clone()
-  {
-    return (IterationImpl) super.clone();
-  }
-
-}
Index: trunk/quest-core-tasktrees/src/main/java/de/ugoe/cs/quest/tasktrees/treeimpl/NodeInfo.java
===================================================================
--- trunk/quest-core-tasktrees/src/main/java/de/ugoe/cs/quest/tasktrees/treeimpl/NodeInfo.java	(revision 557)
+++ trunk/quest-core-tasktrees/src/main/java/de/ugoe/cs/quest/tasktrees/treeimpl/NodeInfo.java	(revision 557)
@@ -0,0 +1,96 @@
+// Module    : $RCSfile: NodeInfo.java,v $
+// Version   : $Revision: 0.0 $  $Author: Patrick $  $Date: 05.11.2011 19:24:14 $
+// Project   : TestTreePerformanceTest
+// Creation  : 2011 by Patrick
+// Copyright : Patrick Harms, 2011
+
+package de.ugoe.cs.quest.tasktrees.treeimpl;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import de.ugoe.cs.quest.tasktrees.treeifc.ITaskTreeNodeInfo;
+import de.ugoe.cs.quest.tasktrees.treeifc.ITaskTreeNode;
+
+/**
+ * TODO comment
+ * 
+ * @version $Revision: $ $Date: $
+ * @author 2011, last modified by $Author: $
+ */
+public class NodeInfo implements ITaskTreeNodeInfo {
+    
+    /** */
+    private ITaskTreeNode task;
+
+    /** */
+    private long lastUpdate;
+
+    /** */
+    private List<ITaskTreeNode> parentNodes = new ArrayList<ITaskTreeNode>();
+
+    /**
+     * @param node
+     */
+    NodeInfo(ITaskTreeNode task) {
+        this.task = task;
+        lastUpdate = System.currentTimeMillis();
+    }
+
+    /*
+     * (non-Javadoc)
+     * 
+     * @see de.ugoe.cs.tasktree.treeifc.NodeInfo#getTask()
+     */
+    @Override
+    public ITaskTreeNode getTask() {
+        return task;
+    }
+
+    /*
+     * (non-Javadoc)
+     * 
+     * @see de.ugoe.cs.tasktree.treeimpl.NodeInfo#getNoOfOccurencesInTree()
+     */
+    @Override
+    public int getNoOfOccurencesInTree() {
+        return parentNodes.size();
+    }
+
+    /*
+     * (non-Javadoc)
+     * 
+     * @see de.ugoe.cs.tasktree.treeimpl.NodeInfo#getLastUpdate()
+     */
+    @Override
+    public long getLastUpdate() {
+        return lastUpdate;
+    }
+
+    /**
+     * TODO: comment
+     * 
+     */
+    void addParent(ITaskTreeNode parent) {
+        parentNodes.add(parent);
+    }
+
+    /**
+     * TODO: comment
+     * 
+     */
+    void removeParent(ITaskTreeNode parent) {
+        parentNodes.remove(parent);
+    }
+
+    /*
+     * (non-Javadoc)
+     * 
+     * @see java.lang.Object#toString()
+     */
+    @Override
+    public synchronized String toString() {
+        return "NodeInfo(" + task + ", " + parentNodes.size() + " parents)";
+    }
+
+}
Index: trunk/quest-core-tasktrees/src/main/java/de/ugoe/cs/quest/tasktrees/treeimpl/NodeInfoImpl.java
===================================================================
--- trunk/quest-core-tasktrees/src/main/java/de/ugoe/cs/quest/tasktrees/treeimpl/NodeInfoImpl.java	(revision 470)
+++ 	(revision )
@@ -1,114 +1,0 @@
-//-------------------------------------------------------------------------------------------------
-// Module    : $RCSfile: NodeInfo.java,v $
-// Version   : $Revision: 0.0 $  $Author: Patrick $  $Date: 05.11.2011 19:24:14 $
-// Project   : TestTreePerformanceTest
-// Creation  : 2011 by Patrick
-// Copyright : Patrick Harms, 2011
-//-------------------------------------------------------------------------------------------------
-
-package de.ugoe.cs.quest.tasktrees.treeimpl;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import de.ugoe.cs.quest.tasktrees.treeifc.NodeInfo;
-import de.ugoe.cs.quest.tasktrees.treeifc.TaskTreeNode;
-
-
-//-------------------------------------------------------------------------------------------------
-/**
- * TODO comment
- *
- * @version $Revision: $ $Date: $
- * @author  2011, last modified by $Author: $
- */
-//-------------------------------------------------------------------------------------------------
-public class NodeInfoImpl implements NodeInfo
-{
-  /** */
-  private TaskTreeNode mTask;
-  
-  /** */
-  private long mLastUpdate;
-
-  /** */
-  private List<TaskTreeNode> mParentNodes = new ArrayList<TaskTreeNode>();
-
-  //-----------------------------------------------------------------------------------------------
-  /**
-   * @param node 
-   */
-  //-----------------------------------------------------------------------------------------------
-  NodeInfoImpl(TaskTreeNode task)
-  {
-    mTask = task;
-    mLastUpdate = System.currentTimeMillis();
-  }
-
-  //-----------------------------------------------------------------------------------------------
-  /* (non-Javadoc)
-   * @see de.ugoe.cs.tasktree.treeifc.NodeInfo#getTask()
-   */
-  //-----------------------------------------------------------------------------------------------
-  @Override
-  public TaskTreeNode getTask()
-  {
-    return mTask;
-  }
-
-  //-----------------------------------------------------------------------------------------------
-  /* (non-Javadoc)
-   * @see de.ugoe.cs.tasktree.treeimpl.NodeInfo#getNoOfOccurencesInTree()
-   */
-  //-----------------------------------------------------------------------------------------------
-  @Override
-  public int getNoOfOccurencesInTree()
-  {
-    return mParentNodes.size();
-  }
-
-  //-----------------------------------------------------------------------------------------------
-  /* (non-Javadoc)
-   * @see de.ugoe.cs.tasktree.treeimpl.NodeInfo#getLastUpdate()
-   */
-  //-----------------------------------------------------------------------------------------------
-  @Override
-  public long getLastUpdate()
-  {
-    return mLastUpdate;
-  }
-
-  //-----------------------------------------------------------------------------------------------
-  /**
-   * TODO: comment
-   *
-   */
-  //-----------------------------------------------------------------------------------------------
-  void addParent(TaskTreeNode parent)
-  {
-    mParentNodes.add(parent);
-  }
-
-  //-----------------------------------------------------------------------------------------------
-  /**
-   * TODO: comment
-   *
-   */
-  //-----------------------------------------------------------------------------------------------
-  void removeParent(TaskTreeNode parent)
-  {
-    mParentNodes.remove(parent);
-  }
-
-  //-----------------------------------------------------------------------------------------------
-  /* (non-Javadoc)
-   * @see java.lang.Object#toString()
-   */
-  //-----------------------------------------------------------------------------------------------
-  @Override
-  public synchronized String toString()
-  {
-    return "NodeInfo(" + mTask + ", " + mParentNodes.size() + " parents)";
-  }
-  
-}
Index: trunk/quest-core-tasktrees/src/main/java/de/ugoe/cs/quest/tasktrees/treeimpl/Selection.java
===================================================================
--- trunk/quest-core-tasktrees/src/main/java/de/ugoe/cs/quest/tasktrees/treeimpl/Selection.java	(revision 557)
+++ trunk/quest-core-tasktrees/src/main/java/de/ugoe/cs/quest/tasktrees/treeimpl/Selection.java	(revision 557)
@@ -0,0 +1,38 @@
+// Module    : $RCSfile: Selection.java,v $
+// Version   : $Revision: 0.0 $  $Author: patrick $  $Date: 19.02.2012 $
+// Project   : TaskTreeCreator
+// Creation  : 2012 by patrick
+// Copyright : Patrick Harms, 2012
+
+package de.ugoe.cs.quest.tasktrees.treeimpl;
+
+import de.ugoe.cs.quest.tasktrees.treeifc.ISelection;
+
+/**
+ * TODO comment
+ * 
+ * @version $Revision: $ $Date: 19.02.2012$
+ * @author 2012, last modified by $Author: patrick$
+ */
+public class Selection extends TaskTreeNode implements ISelection {
+
+    /**
+     * TODO: comment
+     * 
+     * @param name
+     */
+    Selection() {
+        super("Selection");
+    }
+
+    /*
+     * (non-Javadoc)
+     * 
+     * @see java.lang.Object#clone()
+     */
+    @Override
+    public Selection clone() {
+        return (Selection) super.clone();
+    }
+
+}
Index: trunk/quest-core-tasktrees/src/main/java/de/ugoe/cs/quest/tasktrees/treeimpl/SelectionImpl.java
===================================================================
--- trunk/quest-core-tasktrees/src/main/java/de/ugoe/cs/quest/tasktrees/treeimpl/SelectionImpl.java	(revision 470)
+++ 	(revision )
@@ -1,46 +1,0 @@
-//-------------------------------------------------------------------------------------------------
-// Module    : $RCSfile: Selection.java,v $
-// Version   : $Revision: 0.0 $  $Author: patrick $  $Date: 19.02.2012 $
-// Project   : TaskTreeCreator
-// Creation  : 2012 by patrick
-// Copyright : Patrick Harms, 2012
-//-------------------------------------------------------------------------------------------------
-package de.ugoe.cs.quest.tasktrees.treeimpl;
-
-import de.ugoe.cs.quest.tasktrees.treeifc.Selection;
-
-//-------------------------------------------------------------------------------------------------
-/**
- * TODO comment
- * 
- * @version $Revision: $ $Date: 19.02.2012$
- * @author 2012, last modified by $Author: patrick$
- */
-//-------------------------------------------------------------------------------------------------
-public class SelectionImpl extends TaskTreeNodeImpl implements Selection
-{
-
-  //-----------------------------------------------------------------------------------------------
-  /**
-   * TODO: comment
-   *
-   * @param name
-   */
-  //-----------------------------------------------------------------------------------------------
-  SelectionImpl()
-  {
-    super("Selection");
-  }
-
-  //-----------------------------------------------------------------------------------------------
-  /* (non-Javadoc)
-   * @see java.lang.Object#clone()
-   */
-  //-----------------------------------------------------------------------------------------------
-  @Override
-  public SelectionImpl clone()
-  {
-    return (SelectionImpl) super.clone();
-  }
-
-}
Index: trunk/quest-core-tasktrees/src/main/java/de/ugoe/cs/quest/tasktrees/treeimpl/Sequence.java
===================================================================
--- trunk/quest-core-tasktrees/src/main/java/de/ugoe/cs/quest/tasktrees/treeimpl/Sequence.java	(revision 557)
+++ trunk/quest-core-tasktrees/src/main/java/de/ugoe/cs/quest/tasktrees/treeimpl/Sequence.java	(revision 557)
@@ -0,0 +1,47 @@
+// Module    : $RCSfile: Sequence.java,v $
+// Version   : $Revision: 0.0 $  $Author: patrick $  $Date: 19.02.2012 $
+// Project   : TaskTreeCreator
+// Creation  : 2012 by patrick
+// Copyright : Patrick Harms, 2012
+
+package de.ugoe.cs.quest.tasktrees.treeimpl;
+
+import de.ugoe.cs.quest.tasktrees.treeifc.ISequence;
+
+/**
+ * TODO comment
+ * 
+ * @version $Revision: $ $Date: 19.02.2012$
+ * @author 2012, last modified by $Author: patrick$
+ */
+public class Sequence extends TaskTreeNode implements ISequence {
+    
+    /**
+     * TODO: comment
+     * 
+     * @param name
+     */
+    Sequence() {
+        super("Sequence");
+    }
+
+    /**
+     * TODO: comment
+     * 
+     * @param name
+     */
+    Sequence(String name) {
+        super(name);
+    }
+
+    /*
+     * (non-Javadoc)
+     * 
+     * @see de.ugoe.cs.tasktree.treeimpl.TaskTreeNodeImpl#clone()
+     */
+    @Override
+    public Sequence clone() {
+        return (Sequence) super.clone();
+    }
+
+}
Index: trunk/quest-core-tasktrees/src/main/java/de/ugoe/cs/quest/tasktrees/treeimpl/SequenceImpl.java
===================================================================
--- trunk/quest-core-tasktrees/src/main/java/de/ugoe/cs/quest/tasktrees/treeimpl/SequenceImpl.java	(revision 470)
+++ 	(revision )
@@ -1,57 +1,0 @@
-//-------------------------------------------------------------------------------------------------
-// Module    : $RCSfile: Sequence.java,v $
-// Version   : $Revision: 0.0 $  $Author: patrick $  $Date: 19.02.2012 $
-// Project   : TaskTreeCreator
-// Creation  : 2012 by patrick
-// Copyright : Patrick Harms, 2012
-//-------------------------------------------------------------------------------------------------
-package de.ugoe.cs.quest.tasktrees.treeimpl;
-
-import de.ugoe.cs.quest.tasktrees.treeifc.Sequence;
-
-//-------------------------------------------------------------------------------------------------
-/**
- * TODO comment
- * 
- * @version $Revision: $ $Date: 19.02.2012$
- * @author 2012, last modified by $Author: patrick$
- */
-//-------------------------------------------------------------------------------------------------
-public class SequenceImpl extends TaskTreeNodeImpl implements Sequence
-{
-  //-----------------------------------------------------------------------------------------------
-  /**
-   * TODO: comment
-   *
-   * @param name
-   */
-  //-----------------------------------------------------------------------------------------------
-  SequenceImpl()
-  {
-    super("Sequence");
-  }
-
-  //-----------------------------------------------------------------------------------------------
-  /**
-   * TODO: comment
-   *
-   * @param name
-   */
-  //-----------------------------------------------------------------------------------------------
-  SequenceImpl(String name)
-  {
-    super(name);
-  }
-
-  //-----------------------------------------------------------------------------------------------
-  /* (non-Javadoc)
-   * @see de.ugoe.cs.tasktree.treeimpl.TaskTreeNodeImpl#clone()
-   */
-  //-----------------------------------------------------------------------------------------------
-  @Override
-  public SequenceImpl clone()
-  {
-    return (SequenceImpl) super.clone();
-  }
-
-}
Index: trunk/quest-core-tasktrees/src/main/java/de/ugoe/cs/quest/tasktrees/treeimpl/TaskTree.java
===================================================================
--- trunk/quest-core-tasktrees/src/main/java/de/ugoe/cs/quest/tasktrees/treeimpl/TaskTree.java	(revision 557)
+++ trunk/quest-core-tasktrees/src/main/java/de/ugoe/cs/quest/tasktrees/treeimpl/TaskTree.java	(revision 557)
@@ -0,0 +1,113 @@
+// Module    : $RCSfile: TaskTree.java,v $
+// Version   : $Revision: 0.0 $  $Author: patrick $  $Date: 21.02.2012 $
+// Project   : TaskTreeCreator
+// Creation  : 2012 by patrick
+// Copyright : Patrick Harms, 2012
+
+package de.ugoe.cs.quest.tasktrees.treeimpl;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import de.ugoe.cs.quest.tasktrees.treeifc.ITaskTreeNodeInfo;
+import de.ugoe.cs.quest.tasktrees.treeifc.ITaskTree;
+import de.ugoe.cs.quest.tasktrees.treeifc.ITaskTreeNode;
+
+/**
+ * TODO comment
+ * 
+ * @version $Revision: $ $Date: 21.02.2012$
+ * @author 2012, last modified by $Author: patrick$
+ */
+public class TaskTree implements ITaskTree {
+    
+    /** the map of nodes */
+    private Map<ITaskTreeNode, ITaskTreeNodeInfo> taskMap;
+
+    /** the root node of the task tree */
+    private ITaskTreeNode rootNode;
+
+    /**
+     * TODO: comment
+     * 
+     */
+    TaskTree(ITaskTreeNode rootNode) {
+        this.rootNode = rootNode;
+    }
+
+    /*
+     * (non-Javadoc)
+     * 
+     * @see de.ugoe.cs.tasktree.treeifc.TaskTree#getRoot()
+     */
+    @Override
+    public ITaskTreeNode getRoot() {
+        return rootNode;
+    }
+
+    /*
+     * (non-Javadoc)
+     * 
+     * @see de.ugoe.cs.tasktree.treeifc.TaskTree#getTaskMap()
+     */
+    @Override
+    public synchronized Map<ITaskTreeNode, ITaskTreeNodeInfo> getTaskMap() {
+        if (taskMap == null) {
+            taskMap = new HashMap<ITaskTreeNode, ITaskTreeNodeInfo>();
+            addNodeToMap(rootNode, null);
+        }
+        return taskMap;
+    }
+
+    /**
+     * TODO: comment
+     * 
+     * @param rootNode
+     */
+    private void addNodeToMap(ITaskTreeNode node, ITaskTreeNode parent) {
+        NodeInfo nodeInfo = (NodeInfo) taskMap.get(node);
+
+        if (nodeInfo == null) {
+            nodeInfo = new NodeInfo(node);
+            taskMap.put(node, nodeInfo);
+        }
+
+        if (parent != null) {
+            // through first removing an existing parent it is assured, that a parent is recorded
+            // only once. This is needed, because parent may be reused in a tree as well, but we
+            // always iterate the whole tree
+            nodeInfo.removeParent(parent);
+            nodeInfo.addParent(parent);
+        }
+
+        for (ITaskTreeNode child : node.getChildren()) {
+            addNodeToMap(child, node);
+        }
+    }
+
+    /*
+     * (non-Javadoc)
+     * 
+     * @see java.lang.Object#clone()
+     */
+    @Override
+    public TaskTree clone() {
+        TaskTree clone = null;
+        try {
+            clone = (TaskTree) super.clone();
+
+            clone.rootNode = rootNode.clone();
+
+            // the clone will create the task map itself, when it is first retrieved
+            clone.taskMap = null;
+
+        }
+        catch (CloneNotSupportedException e) {
+            // this should never happen. Therefore simply dump the exception
+            e.printStackTrace();
+        }
+
+        return clone;
+    }
+
+}
Index: trunk/quest-core-tasktrees/src/main/java/de/ugoe/cs/quest/tasktrees/treeimpl/TaskTreeBuilder.java
===================================================================
--- trunk/quest-core-tasktrees/src/main/java/de/ugoe/cs/quest/tasktrees/treeimpl/TaskTreeBuilder.java	(revision 557)
+++ trunk/quest-core-tasktrees/src/main/java/de/ugoe/cs/quest/tasktrees/treeimpl/TaskTreeBuilder.java	(revision 557)
@@ -0,0 +1,175 @@
+// Module    : $RCSfile: TaskTreeBuilderImpl.java,v $
+// Version   : $Revision: 0.0 $  $Author: patrick $  $Date: 21.02.2012 $
+// Project   : TaskTreeCreator
+// Creation  : 2012 by patrick
+// Copyright : Patrick Harms, 2012
+
+package de.ugoe.cs.quest.tasktrees.treeimpl;
+
+import de.ugoe.cs.quest.tasktrees.treeifc.IIteration;
+import de.ugoe.cs.quest.tasktrees.treeifc.ISelection;
+import de.ugoe.cs.quest.tasktrees.treeifc.ISequence;
+import de.ugoe.cs.quest.tasktrees.treeifc.ITaskTreeBuilder;
+import de.ugoe.cs.quest.tasktrees.treeifc.ITaskTreeNode;
+import de.ugoe.cs.quest.tasktrees.treeifc.ITextInputEventTask;
+
+/**
+ * TODO comment
+ * 
+ * @version $Revision: $ $Date: 21.02.2012$
+ * @author 2012, last modified by $Author: patrick$
+ */
+public class TaskTreeBuilder implements ITaskTreeBuilder {
+
+    /*
+     * (non-Javadoc)
+     * 
+     * @see de.ugoe.cs.tasktree.treeifc.TaskTreeBuilder#addChild(Sequence, TaskTreeNode)
+     */
+    @Override
+    public void addChild(ISequence parent, ITaskTreeNode child) {
+        if (!(parent instanceof Sequence)) {
+            throw new IllegalArgumentException
+                ("illegal type of task tree node provided: " + parent.getClass());
+        }
+
+        addChildInternal(parent, -1, child);
+    }
+
+    /*
+     * (non-Javadoc)
+     * 
+     * @see de.ugoe.cs.tasktree.treeifc.TaskTreeBuilder#addChild(Sequence, int, TaskTreeNode)
+     */
+    @Override
+    public void addChild(ISequence parent, int index, ITaskTreeNode child) {
+        if (!(parent instanceof Sequence)) {
+            throw new IllegalArgumentException
+                ("illegal type of task tree node provided: " + parent.getClass());
+        }
+
+        addChildInternal(parent, index, child);
+    }
+
+    /*
+     * (non-Javadoc)
+     * 
+     * @see de.ugoe.cs.tasktree.treeifc.TaskTreeBuilder#addChild(Selection, TaskTreeNode)
+     */
+    @Override
+    public void addChild(ISelection parent, ITaskTreeNode child) {
+        if (!(parent instanceof Selection)) {
+            throw new IllegalArgumentException
+                ("illegal type of task tree node provided: " + parent.getClass());
+        }
+
+        addChildInternal(parent, -1, child);
+    }
+
+    /*
+     * (non-Javadoc)
+     * 
+     * @see de.ugoe.cs.tasktree.treeifc.TaskTreeBuilder#addChild(de.ugoe.cs.tasktree.treeifc.
+     * TextInputEventTask, de.ugoe.cs.tasktree.treeifc.TaskTreeNode)
+     */
+    @Override
+    public void addChild(ITextInputEventTask parent, ITaskTreeNode child) {
+        if (!(parent instanceof TextInputEventTask)) {
+            throw new IllegalArgumentException
+                ("illegal type of task tree node provided: " + parent.getClass());
+        }
+
+        addChildInternal(parent, -1, child);
+    }
+
+    /*
+     * (non-Javadoc)
+     * 
+     * @see de.ugoe.cs.tasktree.treeifc.TaskTreeBuilder#setChild(Iteration, TaskTreeNode)
+     */
+    @Override
+    public void setChild(IIteration iteration, ITaskTreeNode newChild) {
+        if (!(iteration instanceof Iteration)) {
+            throw new IllegalArgumentException
+                ("illegal type of iteration provided: " + iteration.getClass());
+        }
+
+        if (!(newChild instanceof TaskTreeNode)) {
+            throw new IllegalArgumentException
+                ("illegal type of task tree node provided: " + newChild.getClass());
+        }
+
+        ((Iteration) iteration).setChild(newChild);
+    }
+
+    /*
+     * (non-Javadoc)
+     * 
+     * @see de.ugoe.cs.tasktree.treeifc.TaskTreeBuilder#removeChild(Sequence, int)
+     */
+    @Override
+    public void removeChild(ISequence parent, int index) {
+        if (!(parent instanceof TaskTreeNode)) {
+            throw new IllegalArgumentException
+                ("illegal type of task tree node provided: " + parent.getClass());
+        }
+
+        ((TaskTreeNode) parent).removeChild(index);
+    }
+
+    /*
+     * (non-Javadoc)
+     * 
+     * @see de.ugoe.cs.tasktree.treeifc.TaskTreeBuilder#removeChild(Selection, TaskTreeNode)
+     */
+    @Override
+    public void removeChild(ISelection parent, ITaskTreeNode child) {
+        if (!(parent instanceof TaskTreeNode)) {
+            throw new IllegalArgumentException
+                ("illegal type of task tree node provided: " + parent.getClass());
+        }
+
+        for (int i = 0; i < parent.getChildren().size(); i++) {
+            if ((parent.getChildren().get(i) == child) ||
+                ((parent.getChildren().get(i) != null) &&
+                 (parent.getChildren().get(i).equals(child))))
+            {
+                ((TaskTreeNode) parent).removeChild(i);
+                break;
+            }
+        }
+    }
+
+    /*
+     * (non-Javadoc)
+     * 
+     * @see de.ugoe.cs.tasktree.treeifc.TaskTreeBuilder#setDescription(TaskTreeNode, String)
+     */
+    @Override
+    public void setDescription(ITaskTreeNode parent, String description) {
+        if (!(parent instanceof TaskTreeNode)) {
+            throw new IllegalArgumentException
+                ("illegal type of task tree node provided: " + parent.getClass());
+        }
+
+        ((TaskTreeNode) parent).setDescription(description);
+    }
+
+    /**
+   * 
+   */
+    private void addChildInternal(ITaskTreeNode parent, int index, ITaskTreeNode child) {
+        if (!(child instanceof TaskTreeNode)) {
+            throw new IllegalArgumentException
+                ("illegal type of task tree node provided: " + child.getClass());
+        }
+
+        if (index > -1) {
+            ((TaskTreeNode) parent).addChild(index, child);
+        }
+        else {
+            ((TaskTreeNode) parent).addChild(child);
+        }
+    }
+
+}
Index: trunk/quest-core-tasktrees/src/main/java/de/ugoe/cs/quest/tasktrees/treeimpl/TaskTreeBuilderImpl.java
===================================================================
--- trunk/quest-core-tasktrees/src/main/java/de/ugoe/cs/quest/tasktrees/treeimpl/TaskTreeBuilderImpl.java	(revision 470)
+++ 	(revision )
@@ -1,221 +1,0 @@
-//-------------------------------------------------------------------------------------------------
-// Module    : $RCSfile: TaskTreeBuilderImpl.java,v $
-// Version   : $Revision: 0.0 $  $Author: patrick $  $Date: 21.02.2012 $
-// Project   : TaskTreeCreator
-// Creation  : 2012 by patrick
-// Copyright : Patrick Harms, 2012
-//-------------------------------------------------------------------------------------------------
-package de.ugoe.cs.quest.tasktrees.treeimpl;
-
-import de.ugoe.cs.quest.tasktrees.treeifc.Iteration;
-import de.ugoe.cs.quest.tasktrees.treeifc.Selection;
-import de.ugoe.cs.quest.tasktrees.treeifc.Sequence;
-import de.ugoe.cs.quest.tasktrees.treeifc.TaskTreeBuilder;
-import de.ugoe.cs.quest.tasktrees.treeifc.TaskTreeNode;
-import de.ugoe.cs.quest.tasktrees.treeifc.TextInputInteractionTask;
-
-//-------------------------------------------------------------------------------------------------
-/**
- * TODO comment
- * 
- * @version $Revision: $ $Date: 21.02.2012$
- * @author 2012, last modified by $Author: patrick$
- */
-//-------------------------------------------------------------------------------------------------
-public class TaskTreeBuilderImpl implements TaskTreeBuilder
-{
-  //-----------------------------------------------------------------------------------------------
-  /* (non-Javadoc)
-   * @see de.ugoe.cs.tasktree.treeifc.TaskTreeBuilder#addChild(Sequence, TaskTreeNode)
-   */
-  //-----------------------------------------------------------------------------------------------
-  @Override
-  public void addChild(Sequence parent, TaskTreeNode child)
-  {
-    if (!(parent instanceof SequenceImpl))
-    {
-      throw new IllegalArgumentException
-        ("illegal type of task tree node provided: " + parent.getClass());
-    }
-
-    addChildInternal(parent, -1, child);
-  }
-
-  //-----------------------------------------------------------------------------------------------
-  /* (non-Javadoc)
-   * @see de.ugoe.cs.tasktree.treeifc.TaskTreeBuilder#addChild(Sequence, int, TaskTreeNode)
-   */
-  //-----------------------------------------------------------------------------------------------
-  @Override
-  public void addChild(Sequence parent, int index, TaskTreeNode child)
-  {
-    if (!(parent instanceof SequenceImpl))
-    {
-      throw new IllegalArgumentException
-        ("illegal type of task tree node provided: " + parent.getClass());
-    }
-
-    addChildInternal(parent, index, child);
-  }
-
-  //-----------------------------------------------------------------------------------------------
-  /* (non-Javadoc)
-   * @see de.ugoe.cs.tasktree.treeifc.TaskTreeBuilder#addChild(Selection, TaskTreeNode)
-   */
-  //-----------------------------------------------------------------------------------------------
-  @Override
-  public void addChild(Selection parent, TaskTreeNode child)
-  {
-    if (!(parent instanceof SelectionImpl))
-    {
-      throw new IllegalArgumentException
-        ("illegal type of task tree node provided: " + parent.getClass());
-    }
-
-    addChildInternal(parent, -1, child);
-  }
-
-  //-----------------------------------------------------------------------------------------------
-  /* (non-Javadoc)
-   * @see de.ugoe.cs.tasktree.treeifc.TaskTreeBuilder#addChild(de.ugoe.cs.tasktree.treeifc.TextInputInteractionTask, de.ugoe.cs.tasktree.treeifc.TaskTreeNode)
-   */
-  //-----------------------------------------------------------------------------------------------
-  @Override
-  public void addChild(TextInputInteractionTask parent, TaskTreeNode child)
-  {
-    if (!(parent instanceof TextInputInteractionTaskImpl))
-    {
-      throw new IllegalArgumentException
-        ("illegal type of task tree node provided: " + parent.getClass());
-    }
-
-    addChildInternal(parent, -1, child);
-  }
-
-  //-----------------------------------------------------------------------------------------------
-  /* (non-Javadoc)
-   * @see de.ugoe.cs.tasktree.treeifc.TaskTreeBuilder#setChild(Iteration, TaskTreeNode)
-   */
-  //-----------------------------------------------------------------------------------------------
-  @Override
-  public void setChild(Iteration iteration, TaskTreeNode newChild)
-  {
-    if (!(iteration instanceof IterationImpl))
-    {
-      throw new IllegalArgumentException
-        ("illegal type of iteration provided: " + iteration.getClass());
-    }
-
-    if (!(newChild instanceof TaskTreeNodeImpl))
-    {
-      throw new IllegalArgumentException
-        ("illegal type of task tree node provided: " + newChild.getClass());
-    }
-    
-    ((IterationImpl) iteration).setChild(determineNode(newChild));
-  }
-
-  //-----------------------------------------------------------------------------------------------
-  /* (non-Javadoc)
-   * @see de.ugoe.cs.tasktree.treeifc.TaskTreeBuilder#removeChild(Sequence, int)
-   */
-  //-----------------------------------------------------------------------------------------------
-  @Override
-  public void removeChild(Sequence parent, int index)
-  {
-    if (!(parent instanceof TaskTreeNodeImpl))
-    {
-      throw new IllegalArgumentException
-        ("illegal type of task tree node provided: " + parent.getClass());
-    }
-
-    ((TaskTreeNodeImpl) parent).removeChild(index);
-  }
-
-  //-----------------------------------------------------------------------------------------------
-  /* (non-Javadoc)
-   * @see de.ugoe.cs.tasktree.treeifc.TaskTreeBuilder#removeChild(Selection, TaskTreeNode)
-   */
-  //-----------------------------------------------------------------------------------------------
-  @Override
-  public void removeChild(Selection parent, TaskTreeNode child)
-  {
-    if (!(parent instanceof TaskTreeNodeImpl))
-    {
-      throw new IllegalArgumentException
-        ("illegal type of task tree node provided: " + parent.getClass());
-    }
-
-    for (int i = 0; i < parent.getChildren().size(); i++)
-    {
-      if ((parent.getChildren().get(i) == child) ||
-          ((parent.getChildren().get(i) != null) && (parent.getChildren().get(i).equals(child))))
-      {
-        ((TaskTreeNodeImpl) parent).removeChild(i);
-        break;
-      }
-    }
-  }
-
-  //-----------------------------------------------------------------------------------------------
-  /* (non-Javadoc)
-   * @see de.ugoe.cs.tasktree.treeifc.TaskTreeBuilder#setDescription(TaskTreeNode, String)
-   */
-  //-----------------------------------------------------------------------------------------------
-  @Override
-  public void setDescription(TaskTreeNode parent, String description)
-  {
-    if (!(parent instanceof TaskTreeNodeImpl))
-    {
-      throw new IllegalArgumentException
-        ("illegal type of task tree node provided: " + parent.getClass());
-    }
-
-    ((TaskTreeNodeImpl) parent).setDescription(description);
-  }
-
-  //-----------------------------------------------------------------------------------------------
-  /**
-   * 
-   */
-  //-----------------------------------------------------------------------------------------------
-  private void addChildInternal(TaskTreeNode parent, int index, TaskTreeNode child)
-  {
-    if (!(child instanceof TaskTreeNodeImpl))
-    {
-      throw new IllegalArgumentException
-        ("illegal type of task tree node provided: " + child.getClass());
-    }
-    
-    if (index > -1)
-    {
-      ((TaskTreeNodeImpl) parent).addChild(index, determineNode(child));
-    }
-    else
-    {
-      ((TaskTreeNodeImpl) parent).addChild(determineNode(child));
-    }
-  }
-
-  //-----------------------------------------------------------------------------------------------
-  /**
-   * TODO: comment
-   *
-   * @param newChild
-   * @return
-   */
-  //-----------------------------------------------------------------------------------------------
-  private TaskTreeNode determineNode(TaskTreeNode newNode)
-  {
-    return newNode;
-    /*TaskTreeNode node = mTaskMap.get(newNode);
-    if (node == null)
-    {
-      node = newNode;
-      mTaskMap.put(node, node);
-    }
-    
-    return node;*/
-  }
-
-}
Index: trunk/quest-core-tasktrees/src/main/java/de/ugoe/cs/quest/tasktrees/treeimpl/TaskTreeImpl.java
===================================================================
--- trunk/quest-core-tasktrees/src/main/java/de/ugoe/cs/quest/tasktrees/treeimpl/TaskTreeImpl.java	(revision 470)
+++ 	(revision )
@@ -1,131 +1,0 @@
-//-------------------------------------------------------------------------------------------------
-// Module    : $RCSfile: TaskTree.java,v $
-// Version   : $Revision: 0.0 $  $Author: patrick $  $Date: 21.02.2012 $
-// Project   : TaskTreeCreator
-// Creation  : 2012 by patrick
-// Copyright : Patrick Harms, 2012
-//-------------------------------------------------------------------------------------------------
-package de.ugoe.cs.quest.tasktrees.treeimpl;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import de.ugoe.cs.quest.tasktrees.treeifc.NodeInfo;
-import de.ugoe.cs.quest.tasktrees.treeifc.TaskTree;
-import de.ugoe.cs.quest.tasktrees.treeifc.TaskTreeNode;
-
-//-------------------------------------------------------------------------------------------------
-/**
- * TODO comment
- * 
- * @version $Revision: $ $Date: 21.02.2012$
- * @author 2012, last modified by $Author: patrick$
- */
-//-------------------------------------------------------------------------------------------------
-public class TaskTreeImpl implements TaskTree
-{
-  /** the map of nodes */
-  private Map<TaskTreeNode, NodeInfo> mTaskMap;
-  
-  /** the root node of the task tree */
-  private TaskTreeNode mRootNode;
-  
-  //-----------------------------------------------------------------------------------------------
-  /**
-   * TODO: comment
-   *
-   */
-  //-----------------------------------------------------------------------------------------------
-  TaskTreeImpl(TaskTreeNode rootNode)
-  {
-    mRootNode = rootNode;
-  }
-
-  //-----------------------------------------------------------------------------------------------
-  /* (non-Javadoc)
-   * @see de.ugoe.cs.tasktree.treeifc.TaskTree#getRoot()
-   */
-  //-----------------------------------------------------------------------------------------------
-  @Override
-  public TaskTreeNode getRoot()
-  {
-    return mRootNode;
-  }
-
-  //-----------------------------------------------------------------------------------------------
-  /* (non-Javadoc)
-   * @see de.ugoe.cs.tasktree.treeifc.TaskTree#getTaskMap()
-   */
-  //-----------------------------------------------------------------------------------------------
-  @Override
-  public synchronized Map<TaskTreeNode, NodeInfo> getTaskMap()
-  {
-    if (mTaskMap == null)
-    {
-      mTaskMap = new HashMap<TaskTreeNode, NodeInfo>();
-      addNodeToMap(mRootNode, null);
-    }
-    return mTaskMap;
-  }
-
-  //-----------------------------------------------------------------------------------------------
-  /**
-   * TODO: comment
-   *
-   * @param rootNode
-   */
-  //-----------------------------------------------------------------------------------------------
-  private void addNodeToMap(TaskTreeNode node, TaskTreeNode parent)
-  {
-    NodeInfoImpl nodeInfo = (NodeInfoImpl) mTaskMap.get(node);
-    
-    if (nodeInfo == null)
-    {
-      nodeInfo = new NodeInfoImpl(node);
-      mTaskMap.put(node, nodeInfo);
-    }
-    
-    if (parent != null)
-    {
-      // through first removing an existing parent it is assured, that a parent is recorded
-      // only once. This is needed, because parent may be reused in a tree as well, but we always
-      // iterate the whole tree
-      nodeInfo.removeParent(parent);
-      nodeInfo.addParent(parent);
-    }
-    
-    for (TaskTreeNode child : node.getChildren())
-    {
-      addNodeToMap(child, node);
-    }
-  }
-
-  //-----------------------------------------------------------------------------------------------
-  /* (non-Javadoc)
-   * @see java.lang.Object#clone()
-   */
-  //-----------------------------------------------------------------------------------------------
-  @Override
-  public TaskTreeImpl clone()
-  {
-    TaskTreeImpl clone = null;
-    try
-    {
-      clone = (TaskTreeImpl) super.clone();
-      
-      clone.mRootNode = mRootNode.clone();
-      
-      // the clone will create the task map itself, when it is first retrieved
-      clone.mTaskMap = null;
-      
-    }
-    catch (CloneNotSupportedException e)
-    {
-      // this should never happen. Therefore simply dump the exception
-      e.printStackTrace();
-    }
-    
-    return clone;
-  }
-
-}
Index: trunk/quest-core-tasktrees/src/main/java/de/ugoe/cs/quest/tasktrees/treeimpl/TaskTreeNode.java
===================================================================
--- trunk/quest-core-tasktrees/src/main/java/de/ugoe/cs/quest/tasktrees/treeimpl/TaskTreeNode.java	(revision 557)
+++ trunk/quest-core-tasktrees/src/main/java/de/ugoe/cs/quest/tasktrees/treeimpl/TaskTreeNode.java	(revision 557)
@@ -0,0 +1,226 @@
+// Module    : $RCSfile: TreeNode.java,v $
+// Version   : $Revision: 0.0 $  $Author: Patrick $  $Date: 06.11.2011 11:00:46 $
+// Project   : TaskTreePerformanceTest
+// Creation  : 2011 by Patrick
+// Copyright : Patrick Harms, 2011
+
+package de.ugoe.cs.quest.tasktrees.treeimpl;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import de.ugoe.cs.quest.tasktrees.treeifc.ITaskTreeNode;
+
+/**
+ * TODO comment
+ * 
+ * @version $Revision: $ $Date: $
+ * @author 2011, last modified by $Author: $
+ */
+public class TaskTreeNode implements ITaskTreeNode {
+    /** */
+    private static int temporalId = 0;
+
+    /** */
+    private String name;
+
+    /** */
+    private String description;
+
+    /** */
+    private int id;
+
+    /** children */
+    private List<ITaskTreeNode> children;
+
+    /**
+     * 
+     */
+    public TaskTreeNode(String name) {
+        this.name = name;
+        id = getNewId();
+    }
+
+    /**
+     * TODO: comment
+     * 
+     * @return
+     */
+    private static synchronized int getNewId() {
+        if (temporalId == Integer.MAX_VALUE) {
+            temporalId = 0;
+        }
+
+        return temporalId++;
+    }
+
+    /**
+     * @return Returns the name.
+     */
+    public String getName() {
+        return name;
+    }
+
+    /*
+     * (non-Javadoc)
+     * 
+     * @see de.ugoe.cs.tasktree.treeifc.TaskTreeNode#getDescription()
+     */
+    @Override
+    public String getDescription() {
+        return description;
+    }
+
+    /**
+     * 
+     */
+    public synchronized List<ITaskTreeNode> getChildren() {
+        if ((children == null) || (children.size() == 0)) {
+            return new ArrayList<ITaskTreeNode>();
+        }
+
+        return children.subList(0, children.size());
+    }
+
+    /*
+     * (non-Javadoc)
+     * 
+     * @see de.ugoe.cs.quest.tasktrees.treeifc.TaskTreeNode#equals(TaskTreeNode)
+     */
+    @Override
+    public boolean equals(ITaskTreeNode taskTreeNode) {
+        if (!this.getClass().isInstance(taskTreeNode)) {
+            return false;
+        }
+
+        if (taskTreeNode.hashCode() != hashCode()) {
+            return false;
+        }
+
+        TaskTreeNode other = (TaskTreeNode) taskTreeNode;
+
+        if (id != other.id) {
+            return false;
+        }
+
+        if (!name.equals(other.name)) {
+            return false;
+        }
+
+        synchronized (other) {
+            if (children == null) {
+                return (other.children == null);
+            }
+            else if (other.children == null) {
+                return (children == null);
+            }
+            else if (other.children.size() != children.size()) {
+                return false;
+            }
+
+            for (int i = 0; i < children.size(); i++) {
+                if (!children.get(i).equals(other.children.get(i))) {
+                    return false;
+                }
+            }
+        }
+
+        return true;
+    }
+
+    /*
+     * (non-Javadoc)
+     * 
+     * @see java.lang.Object#hashCode()
+     */
+    @Override
+    public synchronized int hashCode() {
+        return getClass().getSimpleName().hashCode();
+    }
+
+    /*
+     * (non-Javadoc)
+     * 
+     * @see java.lang.Object#toString()
+     */
+    @Override
+    public synchronized String toString() {
+        if (children == null) {
+            return name + "(" + id + ")";
+        }
+        else {
+            return name + "(" + id + ", " + children.size() + " children)";
+        }
+    }
+
+    /**
+     * TODO: comment
+     * 
+     * @param i
+     * @return
+     */
+    void setDescription(String description) {
+        this.description = description;
+    }
+
+    /**
+     * 
+     */
+    synchronized void addChild(ITaskTreeNode child) {
+        if (children == null) {
+            children = new ArrayList<ITaskTreeNode>();
+        }
+
+        children.add(child);
+    }
+
+    /**
+     * 
+     */
+    synchronized void addChild(int index, ITaskTreeNode child) {
+        if (children == null) {
+            children = new ArrayList<ITaskTreeNode>();
+        }
+
+        children.add(index, child);
+    }
+
+    /**
+     * TODO: comment
+     * 
+     * @param i
+     * @return
+     */
+    synchronized ITaskTreeNode removeChild(int index) {
+        return children.remove(index);
+    }
+
+    /*
+     * (non-Javadoc)
+     * 
+     * @see java.lang.Object#clone()
+     */
+    @Override
+    public ITaskTreeNode clone() {
+        TaskTreeNode clone = null;
+        try {
+            clone = (TaskTreeNode) super.clone();
+
+            if (children != null) {
+                clone.children = new ArrayList<ITaskTreeNode>();
+
+                for (ITaskTreeNode child : children) {
+                    clone.children.add(child.clone());
+                }
+            }
+
+        }
+        catch (CloneNotSupportedException e) {
+            // this should never happen. Therefore simply dump the exception
+            e.printStackTrace();
+        }
+
+        return clone;
+    }
+
+}
Index: trunk/quest-core-tasktrees/src/main/java/de/ugoe/cs/quest/tasktrees/treeimpl/TaskTreeNodeFactory.java
===================================================================
--- trunk/quest-core-tasktrees/src/main/java/de/ugoe/cs/quest/tasktrees/treeimpl/TaskTreeNodeFactory.java	(revision 557)
+++ trunk/quest-core-tasktrees/src/main/java/de/ugoe/cs/quest/tasktrees/treeimpl/TaskTreeNodeFactory.java	(revision 557)
@@ -0,0 +1,91 @@
+// Module    : $RCSfile: TaskTreeNodeFactoryImpl.java,v $
+// Version   : $Revision: 0.0 $  $Author: patrick $  $Date: 21.02.2012 $
+// Project   : TaskTreeCreator
+// Creation  : 2012 by patrick
+// Copyright : Patrick Harms, 2012
+
+
+package de.ugoe.cs.quest.tasktrees.treeimpl;
+
+import de.ugoe.cs.quest.eventcore.IEventTarget;
+import de.ugoe.cs.quest.eventcore.IEventType;
+import de.ugoe.cs.quest.tasktrees.treeifc.IEventTask;
+import de.ugoe.cs.quest.tasktrees.treeifc.IIteration;
+import de.ugoe.cs.quest.tasktrees.treeifc.ISelection;
+import de.ugoe.cs.quest.tasktrees.treeifc.ISequence;
+import de.ugoe.cs.quest.tasktrees.treeifc.ITaskTree;
+import de.ugoe.cs.quest.tasktrees.treeifc.ITaskTreeNode;
+import de.ugoe.cs.quest.tasktrees.treeifc.ITaskTreeNodeFactory;
+import de.ugoe.cs.quest.tasktrees.treeifc.ITextInputEventTask;
+
+/**
+ * TODO comment
+ * 
+ * @version $Revision: $ $Date: 21.02.2012$
+ * @author 2012, last modified by $Author: patrick$
+ */
+public class TaskTreeNodeFactory implements ITaskTreeNodeFactory {
+
+    /*
+     * (non-Javadoc)
+     * 
+     * @see TaskTreeNodeFactory#createNewEventTask(IEventType, IEventTarget)
+     */
+    @Override
+    public IEventTask createNewEventTask(IEventType eventType, IEventTarget eventTarget) {
+        return new EventTask(eventType, eventTarget);
+    }
+
+    /*
+     * (non-Javadoc)
+     * 
+     * @see de.ugoe.cs.tasktree.treeifc.TaskTreeNodeFactory#createNewSequence()
+     */
+    @Override
+    public ISequence createNewSequence() {
+        return new Sequence();
+    }
+
+    /*
+     * (non-Javadoc)
+     * 
+     * @see de.ugoe.cs.tasktree.treeifc.TaskTreeNodeFactory#createNewTextInputEventTask(eventTarget)
+     */
+    @Override
+    public ITextInputEventTask createNewTextInputEventTask(IEventTarget eventTarget) {
+        return new TextInputEventTask(eventTarget);
+    }
+
+    /*
+     * (non-Javadoc)
+     * 
+     * @see de.ugoe.cs.tasktree.treeifc.TaskTreeNodeFactory#createNewIteration()
+     */
+    @Override
+    public IIteration createNewIteration() {
+        return new Iteration();
+    }
+
+    /*
+     * (non-Javadoc)
+     * 
+     * @see de.ugoe.cs.tasktree.treeifc.TaskTreeNodeFactory#createNewSelection()
+     */
+    @Override
+    public ISelection createNewSelection() {
+        return new Selection();
+    }
+
+    /*
+     * (non-Javadoc)
+     * 
+     * @see
+     * de.ugoe.cs.tasktree.treeifc.TaskTreeNodeFactory#createTaskTree(de.ugoe.cs.tasktree.treeifc
+     * .TaskTreeNode)
+     */
+    @Override
+    public ITaskTree createTaskTree(ITaskTreeNode root) {
+        return new TaskTree(root);
+    }
+
+}
Index: trunk/quest-core-tasktrees/src/main/java/de/ugoe/cs/quest/tasktrees/treeimpl/TaskTreeNodeFactoryImpl.java
===================================================================
--- trunk/quest-core-tasktrees/src/main/java/de/ugoe/cs/quest/tasktrees/treeimpl/TaskTreeNodeFactoryImpl.java	(revision 470)
+++ 	(revision )
@@ -1,99 +1,0 @@
-//-------------------------------------------------------------------------------------------------
-// Module    : $RCSfile: TaskTreeNodeFactoryImpl.java,v $
-// Version   : $Revision: 0.0 $  $Author: patrick $  $Date: 21.02.2012 $
-// Project   : TaskTreeCreator
-// Creation  : 2012 by patrick
-// Copyright : Patrick Harms, 2012
-//-------------------------------------------------------------------------------------------------
-package de.ugoe.cs.quest.tasktrees.treeimpl;
-
-import de.ugoe.cs.quest.eventcore.guimodel.GUIElement;
-import de.ugoe.cs.quest.eventcore.userinteraction.Interaction;
-import de.ugoe.cs.quest.tasktrees.treeifc.InteractionTask;
-import de.ugoe.cs.quest.tasktrees.treeifc.Iteration;
-import de.ugoe.cs.quest.tasktrees.treeifc.Selection;
-import de.ugoe.cs.quest.tasktrees.treeifc.Sequence;
-import de.ugoe.cs.quest.tasktrees.treeifc.TaskTree;
-import de.ugoe.cs.quest.tasktrees.treeifc.TaskTreeNode;
-import de.ugoe.cs.quest.tasktrees.treeifc.TaskTreeNodeFactory;
-import de.ugoe.cs.quest.tasktrees.treeifc.TextInputInteractionTask;
-
-//-------------------------------------------------------------------------------------------------
-/**
- * TODO comment
- * 
- * @version $Revision: $ $Date: 21.02.2012$
- * @author 2012, last modified by $Author: patrick$
- */
-//-------------------------------------------------------------------------------------------------
-public class TaskTreeNodeFactoryImpl implements TaskTreeNodeFactory
-{
-
-  //-----------------------------------------------------------------------------------------------
-  /* (non-Javadoc)
-   * @see TaskTreeNodeFactory#createNewInteractionTask(GUIElement, Interaction)
-   */
-  //-----------------------------------------------------------------------------------------------
-  @Override
-  public InteractionTask createNewInteractionTask(GUIElement  guiElement,
-                                                  Interaction interaction)
-  {
-    return new InteractionTaskImpl(guiElement, interaction);
-  }
-
-  //-----------------------------------------------------------------------------------------------
-  /* (non-Javadoc)
-   * @see de.ugoe.cs.tasktree.treeifc.TaskTreeNodeFactory#createNewSequence()
-   */
-  //-----------------------------------------------------------------------------------------------
-  @Override
-  public Sequence createNewSequence()
-  {
-    return new SequenceImpl();
-  }
-
-  //-----------------------------------------------------------------------------------------------
-  /* (non-Javadoc)
-   * @see de.ugoe.cs.tasktree.treeifc.TaskTreeNodeFactory#createNewTextInputInteractionTask()
-   */
-  //-----------------------------------------------------------------------------------------------
-  @Override
-  public TextInputInteractionTask createNewTextInputInteractionTask(GUIElement guiElement)
-  {
-    return new TextInputInteractionTaskImpl(guiElement);
-  }
-
-  //-----------------------------------------------------------------------------------------------
-  /* (non-Javadoc)
-   * @see de.ugoe.cs.tasktree.treeifc.TaskTreeNodeFactory#createNewIteration()
-   */
-  //-----------------------------------------------------------------------------------------------
-  @Override
-  public Iteration createNewIteration()
-  {
-    return new IterationImpl();
-  }
-
-  //-----------------------------------------------------------------------------------------------
-  /* (non-Javadoc)
-   * @see de.ugoe.cs.tasktree.treeifc.TaskTreeNodeFactory#createNewSelection()
-   */
-  //-----------------------------------------------------------------------------------------------
-  @Override
-  public Selection createNewSelection()
-  {
-    return new SelectionImpl();
-  }
-
-  //-----------------------------------------------------------------------------------------------
-  /* (non-Javadoc)
-   * @see de.ugoe.cs.tasktree.treeifc.TaskTreeNodeFactory#createTaskTree(de.ugoe.cs.tasktree.treeifc.TaskTreeNode)
-   */
-  //-----------------------------------------------------------------------------------------------
-  @Override
-  public TaskTree createTaskTree(TaskTreeNode root)
-  {
-    return new TaskTreeImpl(root);
-  }
-
-}
Index: trunk/quest-core-tasktrees/src/main/java/de/ugoe/cs/quest/tasktrees/treeimpl/TaskTreeNodeImpl.java
===================================================================
--- trunk/quest-core-tasktrees/src/main/java/de/ugoe/cs/quest/tasktrees/treeimpl/TaskTreeNodeImpl.java	(revision 470)
+++ 	(revision )
@@ -1,277 +1,0 @@
-//-------------------------------------------------------------------------------------------------
-// Module    : $RCSfile: TreeNode.java,v $
-// Version   : $Revision: 0.0 $  $Author: Patrick $  $Date: 06.11.2011 11:00:46 $
-// Project   : TaskTreePerformanceTest
-// Creation  : 2011 by Patrick
-// Copyright : Patrick Harms, 2011
-//-------------------------------------------------------------------------------------------------
-
-package de.ugoe.cs.quest.tasktrees.treeimpl;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import de.ugoe.cs.quest.tasktrees.treeifc.TaskTreeNode;
-
-
-//-------------------------------------------------------------------------------------------------
-/**
- * TODO comment
- *
- * @version $Revision: $ $Date: $
- * @author  2011, last modified by $Author: $
- */
-//-------------------------------------------------------------------------------------------------
-public class TaskTreeNodeImpl implements TaskTreeNode
-{
-  /** */
-  private static int sTemporalId = 0;
-
-  /** */
-  private String mName;
-
-  /** */
-  private String mDescription;
-  
-  /** */
-  private int mId;
-  
-  /** children */
-  private List<TaskTreeNode> mChildren;
-
-  //-----------------------------------------------------------------------------------------------
-  /**
-   */
-  //-----------------------------------------------------------------------------------------------
-  TaskTreeNodeImpl(String name)
-  {
-    mName = name;
-    mId = getNewId();
-  }
-  
-  //-----------------------------------------------------------------------------------------------
-  /**
-   * TODO: comment
-   *
-   * @return
-   */
-  //-----------------------------------------------------------------------------------------------
-  private static synchronized int getNewId()
-  {
-    if (sTemporalId == Integer.MAX_VALUE)
-    {
-      sTemporalId = 0;
-    }
-    
-    return sTemporalId++;
-  }
-
-  //-----------------------------------------------------------------------------------------------
-  /**
-   * @return Returns the name.
-   */
-  //-----------------------------------------------------------------------------------------------
-  public String getName()
-  {
-    return mName;
-  }
-
-  //-----------------------------------------------------------------------------------------------
-  /* (non-Javadoc)
-   * @see de.ugoe.cs.tasktree.treeifc.TaskTreeNode#getDescription()
-   */
-  //-----------------------------------------------------------------------------------------------
-  @Override
-  public String getDescription()
-  {
-    return mDescription;
-  }
-
-  //-----------------------------------------------------------------------------------------------
-  /**
-   */
-  //-----------------------------------------------------------------------------------------------
-  public synchronized List<TaskTreeNode> getChildren()
-  {
-    if ((mChildren == null) || (mChildren.size() == 0))
-    {
-      return new ArrayList<TaskTreeNode>();
-    }
-    
-    return mChildren.subList(0, mChildren.size());
-  }
-  
-  //-----------------------------------------------------------------------------------------------
-  /* (non-Javadoc)
-   * @see de.ugoe.cs.quest.tasktrees.treeifc.TaskTreeNode#equals(TaskTreeNode)
-   */
-  //-----------------------------------------------------------------------------------------------
-  @Override
-  public boolean equals(TaskTreeNode taskTreeNode)
-  {
-    if (!this.getClass().isInstance(taskTreeNode))
-    {
-      return false;
-    }
-    
-    if (taskTreeNode.hashCode() != hashCode())
-    {
-      return false;
-    }
-    
-    TaskTreeNodeImpl other = (TaskTreeNodeImpl) taskTreeNode;
-    
-    if (mId != other.mId)
-    {
-      return false;
-    }
-    
-    if (!mName.equals(other.mName))
-    {
-      return false;
-    }
-    
-    synchronized (other)
-    {
-      if (mChildren == null)
-      {
-        return (other.mChildren == null);
-      }
-      else if (other.mChildren == null)
-      {
-        return (mChildren == null);
-      }
-      else if (other.mChildren.size() != mChildren.size())
-      {
-        return false;
-      }
-      
-      for (int i = 0; i < mChildren.size(); i++)
-      {
-        if (!mChildren.get(i).equals(other.mChildren.get(i)))
-        {
-          return false;
-        }
-      }
-    }
-
-    return true;
-  }
-
-  //-----------------------------------------------------------------------------------------------
-  /* (non-Javadoc)
-   * @see java.lang.Object#hashCode()
-   */
-  //-----------------------------------------------------------------------------------------------
-  @Override
-  public synchronized int hashCode()
-  {
-    return getClass().getSimpleName().hashCode();
-  }
-
-  //-----------------------------------------------------------------------------------------------
-  /* (non-Javadoc)
-   * @see java.lang.Object#toString()
-   */
-  //-----------------------------------------------------------------------------------------------
-  @Override
-  public synchronized String toString()
-  {
-    if (mChildren == null)
-    {
-      return mName + "(" + mId + ")";
-    }
-    else
-    {
-      return mName + "(" + mId + ", " + mChildren.size() + " children)";
-    }
-  }
-  
-  //-----------------------------------------------------------------------------------------------
-  /**
-   * TODO: comment
-   *
-   * @param i
-   * @return 
-   */
-  //-----------------------------------------------------------------------------------------------
-  void setDescription(String description)
-  {
-    mDescription = description;
-  }
-
-  //-----------------------------------------------------------------------------------------------
-  /**
-   */
-  //-----------------------------------------------------------------------------------------------
-  synchronized void addChild(TaskTreeNode child)
-  {
-    if (mChildren == null)
-    {
-      mChildren = new ArrayList<TaskTreeNode>();
-    }
-    
-    mChildren.add(child);
-  }
-  
-  //-----------------------------------------------------------------------------------------------
-  /**
-   */
-  //-----------------------------------------------------------------------------------------------
-  synchronized void addChild(int index, TaskTreeNode child)
-  {
-    if (mChildren == null)
-    {
-      mChildren = new ArrayList<TaskTreeNode>();
-    }
-    
-    mChildren.add(index, child);
-  }
-  
-  //-----------------------------------------------------------------------------------------------
-  /**
-   * TODO: comment
-   *
-   * @param i
-   * @return 
-   */
-  //-----------------------------------------------------------------------------------------------
-  synchronized TaskTreeNode removeChild(int index)
-  {
-    return mChildren.remove(index);
-  }
-
-  //-----------------------------------------------------------------------------------------------
-  /* (non-Javadoc)
-   * @see java.lang.Object#clone()
-   */
-  //-----------------------------------------------------------------------------------------------
-  @Override
-  public TaskTreeNode clone()
-  {
-    TaskTreeNodeImpl clone = null;
-    try
-    {
-      clone = (TaskTreeNodeImpl) super.clone();
-      
-      if (mChildren != null)
-      {
-        clone.mChildren = new ArrayList<TaskTreeNode>();
-      
-        for (TaskTreeNode child : mChildren)
-        {
-          clone.mChildren.add(child.clone());
-        }
-      }
-      
-    }
-    catch (CloneNotSupportedException e)
-    {
-      // this should never happen. Therefore simply dump the exception
-      e.printStackTrace();
-    }
-    
-    return clone;
-  }
-
-}
Index: trunk/quest-core-tasktrees/src/main/java/de/ugoe/cs/quest/tasktrees/treeimpl/TextInputEventTask.java
===================================================================
--- trunk/quest-core-tasktrees/src/main/java/de/ugoe/cs/quest/tasktrees/treeimpl/TextInputEventTask.java	(revision 557)
+++ trunk/quest-core-tasktrees/src/main/java/de/ugoe/cs/quest/tasktrees/treeimpl/TextInputEventTask.java	(revision 557)
@@ -0,0 +1,81 @@
+// Module    : $RCSfile: TextInputSequenceImpl.java,v $
+// Version   : $Revision: 0.0 $  $Author: patrick $  $Date: 10.06.2012 $
+// Project   : TaskTreeImpl
+// Creation  : 2012 by patrick
+// Copyright : Patrick Harms, 2012
+
+package de.ugoe.cs.quest.tasktrees.treeimpl;
+
+import de.ugoe.cs.quest.eventcore.IEventTarget;
+import de.ugoe.cs.quest.eventcore.gui.TextInput;
+import de.ugoe.cs.quest.tasktrees.treeifc.ITextInputEventTask;
+
+/**
+ * TODO comment
+ * 
+ * @version $Revision: $ $Date: 10.06.2012$
+ * @author 2012, last modified by $Author: patrick$
+ */
+public class TextInputEventTask extends EventTask implements ITextInputEventTask {
+
+    /** the text, that was finally entered in this sequence without all backspaces, etc. */
+    private String enteredText;
+
+    /**
+     * TODO: comment
+     * 
+     * @param name
+     */
+    TextInputEventTask(IEventTarget eventTarget) {
+        super(new TextInput(), eventTarget);
+    }
+
+    /*
+     * (non-Javadoc)
+     * 
+     * @see de.ugoe.cs.tasktree.treeimpl.TaskTreeNodeImpl#clone()
+     */
+    @Override
+    public TextInputEventTask clone() {
+        // entered text is unchangeable and does not need to be cloned
+        return (TextInputEventTask) super.clone();
+    }
+
+    /*
+     * (non-Javadoc)
+     * 
+     * @see de.ugoe.cs.tasktree.treeifc.TextInputSequence#getEnteredText()
+     */
+    @Override
+    public String getEnteredText() {
+        return enteredText;
+    }
+
+    /*
+     * (non-Javadoc)
+     * 
+     * @see de.ugoe.cs.tasktree.treeifc.TextInputSequence#setEnteredText(java.lang.String)
+     */
+    @Override
+    public void setEnteredText(String text) {
+        enteredText = text;
+    }
+
+    /*
+     * (non-Javadoc)
+     * 
+     * @see java.lang.Object#toString()
+     */
+    @Override
+    public synchronized String toString() {
+        if (super.getChildren() == null) {
+            return super.getName();
+        }
+        else {
+            return
+                "TextInputInteraction(\"" + enteredText + "\", " + super.getChildren().size() +
+                " children)";
+        }
+    }
+
+}
Index: trunk/quest-core-tasktrees/src/main/java/de/ugoe/cs/quest/tasktrees/treeimpl/TextInputInteractionTaskImpl.java
===================================================================
--- trunk/quest-core-tasktrees/src/main/java/de/ugoe/cs/quest/tasktrees/treeimpl/TextInputInteractionTaskImpl.java	(revision 470)
+++ 	(revision )
@@ -1,94 +1,0 @@
-//-------------------------------------------------------------------------------------------------
-// Module    : $RCSfile: TextInputSequenceImpl.java,v $
-// Version   : $Revision: 0.0 $  $Author: patrick $  $Date: 10.06.2012 $
-// Project   : TaskTreeImpl
-// Creation  : 2012 by patrick
-// Copyright : Patrick Harms, 2012
-//-------------------------------------------------------------------------------------------------
-package de.ugoe.cs.quest.tasktrees.treeimpl;
-
-import de.ugoe.cs.quest.eventcore.guimodel.GUIElement;
-import de.ugoe.cs.quest.eventcore.userinteraction.TextInput;
-import de.ugoe.cs.quest.tasktrees.treeifc.TextInputInteractionTask;
-
-//-------------------------------------------------------------------------------------------------
-/**
- * TODO comment
- * 
- * @version $Revision: $ $Date: 10.06.2012$
- * @author 2012, last modified by $Author: patrick$
- */
-//-------------------------------------------------------------------------------------------------
-public class TextInputInteractionTaskImpl extends InteractionTaskImpl
-  implements TextInputInteractionTask
-{
-
-  /** the text, that was finally entered in this sequence without all backspaces, etc. */
-  private String mEnteredText;
-  
-  //-----------------------------------------------------------------------------------------------
-  /**
-   * TODO: comment
-   *
-   * @param name
-   */
-  //-----------------------------------------------------------------------------------------------
-  TextInputInteractionTaskImpl(GUIElement guiElement)
-  {
-    super(guiElement, new TextInput());
-  }
-
-  //-----------------------------------------------------------------------------------------------
-  /* (non-Javadoc)
-   * @see de.ugoe.cs.tasktree.treeimpl.TaskTreeNodeImpl#clone()
-   */
-  //-----------------------------------------------------------------------------------------------
-  @Override
-  public TextInputInteractionTaskImpl clone()
-  {
-    // entered text is unchangeable and does not need to be cloned
-    return (TextInputInteractionTaskImpl) super.clone();
-  }
-
-  //-----------------------------------------------------------------------------------------------
-  /* (non-Javadoc)
-   * @see de.ugoe.cs.tasktree.treeifc.TextInputSequence#getEnteredText()
-   */
-  //-----------------------------------------------------------------------------------------------
-  @Override
-  public String getEnteredText()
-  {
-    return mEnteredText;
-  }
-
-  //-----------------------------------------------------------------------------------------------
-  /* (non-Javadoc)
-   * @see de.ugoe.cs.tasktree.treeifc.TextInputSequence#setEnteredText(java.lang.String)
-   */
-  //-----------------------------------------------------------------------------------------------
-  @Override
-  public void setEnteredText(String text)
-  {
-    mEnteredText = text;
-  }
-
-  //-----------------------------------------------------------------------------------------------
-  /* (non-Javadoc)
-   * @see java.lang.Object#toString()
-   */
-  //-----------------------------------------------------------------------------------------------
-  @Override
-  public synchronized String toString()
-  {
-    if (super.getChildren() == null)
-    {
-      return super.getName();
-    }
-    else
-    {
-      return "TextInputInteraction(\"" + mEnteredText + "\", " + super.getChildren().size() +
-        " children)";
-    }
-  }
-  
-}
