Index: /trunk/autoquest-core-tasktrees/src/main/java/de/ugoe/cs/autoquest/tasktrees/treeimpl/TaskBuilder.java
===================================================================
--- /trunk/autoquest-core-tasktrees/src/main/java/de/ugoe/cs/autoquest/tasktrees/treeimpl/TaskBuilder.java	(revision 1215)
+++ /trunk/autoquest-core-tasktrees/src/main/java/de/ugoe/cs/autoquest/tasktrees/treeimpl/TaskBuilder.java	(revision 1216)
@@ -29,13 +29,17 @@
 
 /**
- * TODO comment
+ * <p>
+ * this is the default implementation of the interface {@link ITaskBuilder}. It
+ * does not do anything fancy except implementing the interface. In some situations, it performs
+ * a check if the model or instances to be created a valid. However, this can not be done
+ * in any situation of the creation process.
+ * </p>
  * 
- * @version $Revision: $ $Date: 21.02.2012$
- * @author 2012, last modified by $Author: patrick$
+ * @author Patrick Harms
  */
 public class TaskBuilder implements ITaskBuilder {
 
     /* (non-Javadoc)
-     * @see ITaskBuilder#addChild(ITaskInstance, ITaskInstance)
+     * @see ITaskBuilder#addChild(ITaskInstance,ITaskInstance)
      */
     @Override
@@ -71,5 +75,5 @@
             }
         }
-/*        else if (task instanceof IIteration) {
+        /*else if (task instanceof IIteration) {
             for (ITaskInstance childInstance : parent.getChildren()) {
                 if (!childInstance.getTask().equals(child.getTask())) {
@@ -130,5 +134,5 @@
 
     /* (non-Javadoc)
-     * @see de.ugoe.cs.autoquest.tasktrees.treeifc.ITaskBuilder#addTaskInstance(de.ugoe.cs.autoquest.tasktrees.treeifc.ITaskInstanceList, de.ugoe.cs.autoquest.tasktrees.treeifc.ITaskInstance)
+     * @see ITaskBuilder#addTaskInstance(ITaskInstanceList, ITaskInstance)
      */
     @Override
@@ -147,5 +151,5 @@
 
     /* (non-Javadoc)
-     * @see de.ugoe.cs.autoquest.tasktrees.treeifc.ITaskBuilder#addTaskInstance(de.ugoe.cs.autoquest.tasktrees.treeifc.ITaskInstanceList, int, de.ugoe.cs.autoquest.tasktrees.treeifc.ITaskInstance)
+     * @see ITaskBuilder#addTaskInstance(ITaskInstanceList, int, ITaskInstance)
      */
     @Override
@@ -167,5 +171,5 @@
 
     /* (non-Javadoc)
-     * @see de.ugoe.cs.autoquest.tasktrees.treeifc.ITaskBuilder#setTaskInstance(de.ugoe.cs.autoquest.tasktrees.treeifc.ITaskInstanceList, int, de.ugoe.cs.autoquest.tasktrees.treeifc.ITaskInstance)
+     * @see ITaskBuilder#setTaskInstance(ITaskInstanceList, int, ITaskInstance)
      */
     @Override
@@ -189,5 +193,5 @@
 
     /* (non-Javadoc)
-     * @see de.ugoe.cs.autoquest.tasktrees.treeifc.ITaskBuilder#setTask(de.ugoe.cs.autoquest.tasktrees.treeifc.ITaskInstance, de.ugoe.cs.autoquest.tasktrees.treeifc.ITask)
+     * @see ITaskBuilder#setTask(ITaskInstance, ITask)
      */
     @Override
@@ -201,8 +205,6 @@
     }
 
-    /*
-     * (non-Javadoc)
-     * 
-     * @see de.ugoe.cs.tasktree.treeifc.TaskTreeBuilder#addChild(Sequence, TaskTreeNode)
+    /* (non-Javadoc)
+     * @see ITaskBuilder#addChild(ISequence, ITask)
      */
     @Override
@@ -216,8 +218,6 @@
     }
 
-    /*
-     * (non-Javadoc)
-     * 
-     * @see de.ugoe.cs.tasktree.treeifc.TaskTreeBuilder#addChild(Sequence, int, TaskTreeNode)
+    /* (non-Javadoc)
+     * @see ITaskBuilder#addChild(ISequence, int, ITask)
      */
     @Override
@@ -232,5 +232,5 @@
 
     /* (non-Javadoc)
-     * @see de.ugoe.cs.autoquest.tasktrees.treeifc.ITaskTreeBuilder#setChild(de.ugoe.cs.autoquest.tasktrees.treeifc.ISequence, int, de.ugoe.cs.autoquest.tasktrees.treeifc.ITaskTreeNode)
+     * @see ITaskBuilder#setChild(ISequence, int, ITask)
      */
     @Override
@@ -245,8 +245,6 @@
     }
 
-    /*
-     * (non-Javadoc)
-     * 
-     * @see de.ugoe.cs.tasktree.treeifc.TaskTreeBuilder#addChild(Selection, TaskTreeNode)
+    /* (non-Javadoc)
+     * @see ITaskBuilder#addChild(ISelection, ITask)
      */
     @Override
@@ -260,8 +258,6 @@
     }
 
-    /*
-     * (non-Javadoc)
-     * 
-     * @see de.ugoe.cs.tasktree.treeifc.TaskTreeBuilder#setChild(Iteration, TaskTreeNode)
+    /* (non-Javadoc)
+     * @see ITaskBuilder#setMarkedTask(IIteration, ITask)
      */
     @Override
@@ -281,5 +277,5 @@
 
     /* (non-Javadoc)
-     * @see de.ugoe.cs.autoquest.tasktrees.treeifc.ITaskTreeBuilder#setChild(de.ugoe.cs.autoquest.tasktrees.treeifc.IOptional, de.ugoe.cs.autoquest.tasktrees.treeifc.ITaskTreeNode)
+     * @see ITaskTreeBuilder#setChild(IOptional, ITaskTreeNode)
      */
     @Override
@@ -298,8 +294,6 @@
     }
 
-    /*
-     * (non-Javadoc)
-     * 
-     * @see de.ugoe.cs.tasktree.treeifc.TaskTreeBuilder#removeChild(Sequence, int)
+    /* (non-Javadoc)
+     * @see ITaskBuilder#removeChild(ISequence, int)
      */
     @Override
@@ -313,8 +307,6 @@
     }
 
-    /*
-     * (non-Javadoc)
-     * 
-     * @see de.ugoe.cs.tasktree.treeifc.TaskTreeBuilder#removeChild(Selection, TaskTreeNode)
+    /* (non-Javadoc)
+     * @see ITaskBuilder#removeChild(ISelection, ITask)
      */
     @Override
@@ -338,5 +330,5 @@
 
     /* (non-Javadoc)
-     * @see de.ugoe.cs.autoquest.tasktrees.treeifc.ITaskBuilder#removeTaskInstance(de.ugoe.cs.autoquest.tasktrees.treeifc.ITaskInstanceList, int)
+     * @see ITaskBuilder#removeTaskInstance(ITaskInstanceList, int)
      */
     @Override
@@ -355,5 +347,5 @@
 
     /* (non-Javadoc)
-     * @see de.ugoe.cs.autoquest.tasktrees.treeifc.ITaskTreeBuilder#replaceChild(de.ugoe.cs.autoquest.tasktrees.treeifc.ISelection, de.ugoe.cs.autoquest.tasktrees.treeifc.ITaskTreeNode, de.ugoe.cs.autoquest.tasktrees.treeifc.ITaskTreeNode)
+     * @see ITaskTreeBuilder#replaceChild(ISelection, ITaskTreeNode, ITaskTreeNode)
      */
     @Override
@@ -377,8 +369,6 @@
     }
 
-    /*
-     * (non-Javadoc)
-     * 
-     * @see de.ugoe.cs.tasktree.treeifc.TaskTreeBuilder#setDescription(TaskTreeNode, String)
+    /* (non-Javadoc)
+     * @see ITaskBuilder#setDescription(ITask, java.lang.String)
      */
     @Override
@@ -393,5 +383,8 @@
 
     /**
-     * 
+     * <p>
+     * internal convenience method for adding children to a structuring temporal relationship
+     * including a check for the child type.
+     * </p>
      */
     private void addChildInternal(StructuringTemporalRelationship parent, int index, ITask child) {
Index: /trunk/autoquest-core-tasktrees/src/main/java/de/ugoe/cs/autoquest/tasktrees/treeimpl/TaskFactory.java
===================================================================
--- /trunk/autoquest-core-tasktrees/src/main/java/de/ugoe/cs/autoquest/tasktrees/treeimpl/TaskFactory.java	(revision 1215)
+++ /trunk/autoquest-core-tasktrees/src/main/java/de/ugoe/cs/autoquest/tasktrees/treeimpl/TaskFactory.java	(revision 1216)
@@ -32,15 +32,16 @@
 
 /**
- * TODO comment
+ * <p>
+ * this is the default implementation of the interface {@link ITaskFactory}. It
+ * does not do anything fancy except implementing the interface. It instantiates the other
+ * implementations of the tree ifc in this package.
+ * </p>
  * 
- * @version $Revision: $ $Date: 21.02.2012$
- * @author 2012, last modified by $Author: patrick$
+ * @author Patrick Harms
  */
 public class TaskFactory implements ITaskFactory {
 
-    /*
-     * (non-Javadoc)
-     * 
-     * @see TaskTreeNodeFactory#createNewEventTask(IEventType, IEventTarget)
+    /* (non-Javadoc)
+     * @see ITaskFactory#createNewEventTask(IEventType, IEventTarget)
      */
     @Override
@@ -49,8 +50,6 @@
     }
 
-    /*
-     * (non-Javadoc)
-     * 
-     * @see de.ugoe.cs.tasktree.treeifc.TaskTreeNodeFactory#createNewSequence()
+    /* (non-Javadoc)
+     * @see ITaskFactory#createNewSequence()
      */
     @Override
@@ -59,8 +58,6 @@
     }
 
-    /*
-     * (non-Javadoc)
-     * 
-     * @see de.ugoe.cs.tasktree.treeifc.TaskTreeNodeFactory#createNewIteration()
+    /* (non-Javadoc)
+     * @see ITaskFactory#createNewIteration()
      */
     @Override
@@ -70,5 +67,5 @@
 
     /* (non-Javadoc)
-     * @see de.ugoe.cs.autoquest.tasktrees.treeifc.ITaskTreeNodeFactory#createNewOptional()
+     * @see ITaskFactory#createNewOptional()
      */
     @Override
@@ -77,8 +74,6 @@
     }
 
-    /*
-     * (non-Javadoc)
-     * 
-     * @see de.ugoe.cs.tasktree.treeifc.TaskTreeNodeFactory#createNewSelection()
+    /* (non-Javadoc)
+     * @see ITaskFactory#createNewSelection()
      */
     @Override
@@ -88,5 +83,5 @@
 
     /* (non-Javadoc)
-     * @see de.ugoe.cs.autoquest.tasktrees.treeifc.ITaskFactory#createNewTaskInstance(ITask)
+     * @see ITaskFactory#createNewTaskInstance(ITask)
      */
     @Override
@@ -96,5 +91,5 @@
 
     /* (non-Javadoc)
-     * @see de.ugoe.cs.autoquest.tasktrees.treeifc.ITaskFactory#createNewTaskInstanceList()
+     * @see ITaskFactory#createNewTaskInstanceList()
      */
     @Override
@@ -104,5 +99,5 @@
 
     /* (non-Javadoc)
-     * @see de.ugoe.cs.autoquest.tasktrees.treeifc.ITaskFactory#createUserSession()
+     * @see ITaskFactory#createUserSession()
      */
     @Override
@@ -112,5 +107,5 @@
 
     /* (non-Javadoc)
-     * @see de.ugoe.cs.autoquest.tasktrees.treeifc.ITaskFactory#createTaskModel(IUserSession)
+     * @see ITaskFactory#createTaskModel(List<IUserSession>)
      */
     @Override
Index: /trunk/autoquest-core-tasktrees/src/main/java/de/ugoe/cs/autoquest/tasktrees/treeimpl/TaskInfo.java
===================================================================
--- /trunk/autoquest-core-tasktrees/src/main/java/de/ugoe/cs/autoquest/tasktrees/treeimpl/TaskInfo.java	(revision 1215)
+++ /trunk/autoquest-core-tasktrees/src/main/java/de/ugoe/cs/autoquest/tasktrees/treeimpl/TaskInfo.java	(revision 1216)
@@ -19,18 +19,32 @@
 
 /**
- * TODO comment
+ * <p>
+ * this is the default implementation of the interface {@link ITaskInfo}. It
+ * does not do anything fancy except implementing the interface.
+ * </p>
  * 
- * @version $Revision: $ $Date: $
- * @author 2011, last modified by $Author: $
+ * @author Patrick Harms
  */
 public class TaskInfo implements ITaskInfo {
     
-    /**  */
+    /**
+     * <p>
+     * default serial version UID
+     * </p>
+     */
     private static final long serialVersionUID = 1L;
     
-    /** */
+    /**
+     * <p>
+     * the task to which the infos belong
+     * </p>
+     */
     private ITask task;
 
     /**
+     * <p>
+     * initialized the task infos with the task to which they belong.
+     * </p>
+     * 
      * @param task
      */
@@ -39,8 +53,6 @@
     }
 
-    /*
-     * (non-Javadoc)
-     * 
-     * @see de.ugoe.cs.tasktree.treeifc.NodeInfo#getTask()
+    /* (non-Javadoc)
+     * @see de.ugoe.cs.autoquest.tasktrees.treeifc.ITaskInfo#getTask()
      */
     @Override
@@ -49,7 +61,5 @@
     }
 
-    /*
-     * (non-Javadoc)
-     * 
+    /* (non-Javadoc)
      * @see java.lang.Object#toString()
      */
Index: /trunk/autoquest-core-tasktrees/src/main/java/de/ugoe/cs/autoquest/tasktrees/treeimpl/TaskInstance.java
===================================================================
--- /trunk/autoquest-core-tasktrees/src/main/java/de/ugoe/cs/autoquest/tasktrees/treeimpl/TaskInstance.java	(revision 1215)
+++ /trunk/autoquest-core-tasktrees/src/main/java/de/ugoe/cs/autoquest/tasktrees/treeimpl/TaskInstance.java	(revision 1216)
@@ -24,28 +24,54 @@
 
 /**
- * TODO comment
+ * <p>
+ * this is the default implementation of the interface {@link ITaskInstance}. It
+ * does not do anything fancy except implementing the interface.
+ * </p>
  * 
- * @version $Revision: $ $Date: $
- * @author 2011, last modified by $Author: $
+ * @author Patrick Harms
  */
 class TaskInstance implements ITaskInstance {
     
-    /**  */
+    /**
+     * <p>
+     * default serial version UID
+     * </p>
+     */
     private static final long serialVersionUID = 1L;
 
-    /** */
+    /**
+     * <p>
+     * used as a counter to generate new ids for each newly created task instance. May overflow.
+     * </p>
+     */
     private static int temporalId = 0;
 
-    /** */
+    /**
+     * <p>
+     * the task instantiated by this task instance
+     * </p>
+     */
     private ITask task;
     
-    /** */
+    /**
+     * <p>
+     * the id of the task instance (unique throughout the system as long as {@link #temporalId}
+     * does not overflow.
+     * </p>
+     */
     private int id;
 
-    /** children */
+    /**
+     * <p>
+     * the children of this task instance which are task instances, as well
+     * </p>
+     */
     private List<ITaskInstance> children;
 
     /**
-     * 
+     * <p>
+     * instantiated the task instance with the task that is instantiated by the instance. It also
+     * assigns a unique id to the instance using {@link #getNewId()}.
+     * </p>
      */
     TaskInstance(ITask task) {
@@ -55,7 +81,10 @@
 
     /**
-     * TODO: comment
-     * 
-     * @return
+     * <p>
+     * creates a new id for a task instance using {@link #temporalId} by incrementing it an
+     * returning its current value. Resets the counter if {@link Integer.MAX_VALUE} is reached.
+     * </p>
+     * 
+     * @return a new unique id for a task instance as long as {@link #temporalId} does not overflow
      */
     private static synchronized int getNewId() {
@@ -132,7 +161,5 @@
     }
 
-    /*
-     * (non-Javadoc)
-     * 
+    /* (non-Javadoc)
      * @see java.lang.Object#hashCode()
      */
@@ -142,7 +169,5 @@
     }
 
-    /*
-     * (non-Javadoc)
-     * 
+    /* (non-Javadoc)
      * @see java.lang.Object#toString()
      */
@@ -170,7 +195,5 @@
     }
 
-    /*
-     * (non-Javadoc)
-     * 
+    /* (non-Javadoc)
      * @see java.lang.Object#clone()
      */
@@ -199,5 +222,9 @@
 
     /**
-     * 
+     * <p>
+     * used to add a child to this task instance
+     * </p>
+     * 
+     * @param child the new child of this instance
      */
     synchronized void addChild(ITaskInstance child) {
@@ -210,5 +237,10 @@
 
     /**
-     * 
+     * <p>
+     * used to add a child to this task instance at a specific position
+     * </p>
+     * 
+     * @param index the position of the new child in the list of children
+     * @param child the new child of this instance
      */
     synchronized void addChild(int index, ITaskInstance child) {
@@ -221,8 +253,11 @@
 
     /**
-     * TODO: comment
-     * 
-     * @param i
-     * @return
+     * <p>
+     * removes a child from this task instance at a specific position
+     * </p>
+     * 
+     * @param index the position of the child to be removed
+     * 
+     * @return the child remove from the children of this instance
      */
     synchronized ITaskInstance removeChild(int index) {
@@ -237,4 +272,8 @@
 
     /**
+     * <p>
+     * used to update the task represented through this instance
+     * </p>
+     * 
      * @param task the task to set
      */
Index: /trunk/autoquest-core-tasktrees/src/main/java/de/ugoe/cs/autoquest/tasktrees/treeimpl/TaskModel.java
===================================================================
--- /trunk/autoquest-core-tasktrees/src/main/java/de/ugoe/cs/autoquest/tasktrees/treeimpl/TaskModel.java	(revision 1215)
+++ /trunk/autoquest-core-tasktrees/src/main/java/de/ugoe/cs/autoquest/tasktrees/treeimpl/TaskModel.java	(revision 1216)
@@ -30,22 +30,41 @@
 
 /**
- * TODO comment
+ * <p>
+ * this is the default implementation of the interface {@link ITaskModel}. It
+ * does not do anything fancy except implementing the interface.
+ * </p>
  * 
- * @version $Revision: $ $Date: 21.02.2012$
- * @author 2012, last modified by $Author: patrick$
+ * @author Patrick Harms
  */
 class TaskModel implements ITaskModel {
     
-    /**  */
+    /**
+     * <p>
+     * default serial version UID
+     * </p>
+     */
     private static final long serialVersionUID = 1L;
 
-    /** the map of tasks */
+    /**
+     * <p>
+     * the user sessions belonging to the model
+     * </p>
+     */
     private List<IUserSession> userSessions;
 
-    /** the map of tasks */
+    /**
+     * <p>
+     * the tasks contained in the user session belonging to the model as well as statistical infos
+     * about them
+     * </p>
+     */
     private Map<ITask, TaskInfo> taskMap = new HashMap<ITask, TaskInfo>();
 
     /**
-     *
+     * <p>
+     * initializes the task model with the user sessions out of which the tasks are extracted
+     * </p>
+     * 
+     * @param userSessions as described
      */
     TaskModel(List<IUserSession> userSessions) {
@@ -83,5 +102,5 @@
 
     /* (non-Javadoc)
-     * @see de.ugoe.cs.autoquest.tasktrees.treeifc.ITaskModel#getTaskInfo(de.ugoe.cs.autoquest.tasktrees.treeifc.ITask)
+     * @see de.ugoe.cs.autoquest.tasktrees.treeifc.ITaskModel#getTaskInfo(ITask)
      */
     @Override
@@ -90,6 +109,16 @@
     }
 
+    /* (non-Javadoc)
+     * @see java.lang.Object#clone()
+     */
+    @Override
+    public TaskModel clone() {
+        return new TaskModel(userSessions);
+    }
+
     /**
-     *
+     * <p>
+     * internal convenience method to build the task model during initialization
+     * </p>
      */
     private void addTaskToMap(ITask task) {
@@ -111,13 +140,3 @@
     }
 
-    /*
-     * (non-Javadoc)
-     * 
-     * @see java.lang.Object#clone()
-     */
-    @Override
-    public TaskModel clone() {
-        return new TaskModel(userSessions);
-    }
-
 }
Index: /trunk/autoquest-core-tasktrees/src/main/java/de/ugoe/cs/autoquest/tasktrees/treeimpl/UserSession.java
===================================================================
--- /trunk/autoquest-core-tasktrees/src/main/java/de/ugoe/cs/autoquest/tasktrees/treeimpl/UserSession.java	(revision 1215)
+++ /trunk/autoquest-core-tasktrees/src/main/java/de/ugoe/cs/autoquest/tasktrees/treeimpl/UserSession.java	(revision 1216)
@@ -25,5 +25,6 @@
 /**
  * <p>
- * TODO comment
+ * this is the default implementation of the interface {@link IUserSession}. It
+ * does not do anything fancy except implementing the interface.
  * </p>
  * 
@@ -32,8 +33,15 @@
 class UserSession implements IUserSession {
     
-    /**  */
+    /**
+     * <p>
+     * default serial version UID
+     * </p>
+     */
     private static final long serialVersionUID = 1L;
+    
     /**
-     * 
+     * <p>
+     * the task instances belonging to the user session
+     * </p>
      */
     private List<ITaskInstance> executedTasks = new LinkedList<ITaskInstance>();
@@ -71,8 +79,6 @@
     }
 
-    /*
-     * (non-Javadoc)
-     * 
-     * @see de.ugoe.cs.autoquest.tasktrees.treeifc.TaskTreeNode#equals(TaskTreeNode)
+    /* (non-Javadoc)
+     * @see de.ugoe.cs.autoquest.tasktrees.treeifc.IUserSession#equals(IUserSession)
      */
     @Override
@@ -83,7 +89,5 @@
     }
 
-    /*
-     * (non-Javadoc)
-     * 
+    /* (non-Javadoc)
      * @see java.lang.Object#hashCode()
      */
@@ -93,7 +97,5 @@
     }
 
-    /*
-     * (non-Javadoc)
-     * 
+    /* (non-Javadoc)
      * @see java.lang.Object#toString()
      */
@@ -103,7 +105,5 @@
     }
 
-    /*
-     * (non-Javadoc)
-     * 
+    /* (non-Javadoc)
      * @see java.lang.Object#clone()
      */
@@ -130,5 +130,9 @@
 
     /**
-     *
+     * <p>
+     * used internally to add a task instance to the user session
+     * </p>
+     * 
+     * @param taskInstance the task instance to be added
      */
     void addExecutedTask(ITaskInstance taskInstance) {
@@ -137,5 +141,10 @@
 
     /**
-     *
+     * <p>
+     * used internally to add a task instance to the user session at a specific position
+     * </p>
+     * 
+     * @param index        the index the task instance shall be added to
+     * @param taskInstance the task instance to be added
      */
     void addExecutedTask(int index, ITaskInstance taskInstance) {
@@ -144,5 +153,9 @@
 
     /**
-     *
+     * <p>
+     * used internally to remove a task instance from the user session
+     * </p>
+     * 
+     * @param index the index of the task instance to be removed
      */
     void removeExecutedTask(int index) {
