Index: trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/guimodel/AbstractDefaultGUIElement.java
===================================================================
--- trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/guimodel/AbstractDefaultGUIElement.java	(revision 821)
+++ trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/guimodel/AbstractDefaultGUIElement.java	(revision 831)
@@ -1,2 +1,3 @@
+
 package de.ugoe.cs.quest.eventcore.guimodel;
 
@@ -6,30 +7,52 @@
 
 /**
- * TODO comment
+ * <p>
+ * Skeletal implementation for GUI elements.
+ * </p>
  * 
- * @version $Revision: $ $Date: $
- * @author 2011, last modified by $Author: $
+ * @version 1.0
+ * @author Patrick Harms
  */
 public abstract class AbstractDefaultGUIElement implements IGUIElement {
-    
-    /**  */
+
+    /**
+     * <p>
+     * Id for object serialization.
+     * </p>
+     */
     public static final long serialVersionUID = 1L;
 
-    /** the reference to equal GUI element manager (needed to preserve singleton behavior) */
+    /**
+     * <p>
+     * The reference to equal GUI element manager (needed to preserve singleton behavior, even
+     * though the objects are not singleton).
+     * </p>
+     */
     private static final EqualGUIElementManager equalGUIElementManager =
         new EqualGUIElementManager();
 
-    /** the specification of the GUI element */
-    private IGUIElementSpec specification;
-
-    /** the reference to the parent element */
-    private IGUIElement parent;
-
-    /**
-     * <p>
-     * TODO: comment
-     * </p>
-     *
+    /**
+     * <p>
+     * Specification of the GUI element
+     * </p>
+     */
+    private final IGUIElementSpec specification;
+
+    /**
+     * <p>
+     * Reference to the parent element
+     * </p>
+     */
+    private final IGUIElement parent;
+
+    /**
+     * <p>
+     * Constructor. Creates a new AbstractDefaultGUIElement.
+     * </p>
+     * 
      * @param specification
+     *            specification of the created GUI element
+     * @param parent
+     *            parent of the created GUI element; null means the element is a top-level window
      */
     public AbstractDefaultGUIElement(IGUIElementSpec specification, IGUIElement parent) {
@@ -48,5 +71,7 @@
     }
 
-    /* (non-Javadoc)
+    /*
+     * (non-Javadoc)
+     * 
      * @see de.ugoe.cs.quest.eventcore.guimodel.IGUIElement#getParent()
      */
@@ -56,10 +81,11 @@
     }
 
-    /* (non-Javadoc)
+    /*
+     * (non-Javadoc)
+     * 
      * @see de.ugoe.cs.quest.eventcore.guimodel.IGUIElement#addEqualGUIElement(IGUIElement)
      */
     @Override
-    public void addEqualGUIElement(IGUIElement equalElement)
-    {
+    public void addEqualGUIElement(IGUIElement equalElement) {
         equalGUIElementManager.addEqualGUIElements(this, equalElement);
     }
@@ -76,5 +102,7 @@
     }
 
-    /* (non-Javadoc)
+    /*
+     * (non-Javadoc)
+     * 
      * @see java.lang.Object#hashCode()
      */
@@ -90,9 +118,12 @@
     /**
      * <p>
-     * TODO comment
-     * </p>
-     * 
-     * @version $Revision: $ $Date: 24.08.2012$
-     * @author 2012, last modified by $Author: pharms$
+     * This internal helper class manages equal GUI elements. This is necessary, as we often first
+     * identify many GUI elements as different and later use a heuristic to determine that they are
+     * the same. This class provides the means to preserve the singleton behavior of the GUI
+     * elements after we merge two GUI elements.
+     * </p>
+     * 
+     * @version 1.0
+     * @author Patrick Harms
      */
     private static class EqualGUIElementManager {
@@ -100,5 +131,5 @@
         /**
          * <p>
-         * the internal map of GUI elements mapping each registered element to its equal variants.
+         * The internal map of GUI elements mapping each registered element to its equal variants.
          * We use the {@link IdentityHashMap} as a normal hash map would not work because of the
          * changing of the hash code of GUI elements at runtime.
@@ -107,12 +138,14 @@
         private IdentityHashMap<IGUIElement, List<IGUIElement>> identityHashMap =
             new IdentityHashMap<IGUIElement, List<IGUIElement>>();
-        
-        /**
-         * <p>
-         * TODO: comment
-         * </p>
-         *
-         * @param abstractDefaultGUIElement
-         * @param equalElement
+
+        /**
+         * <p>
+         * Adds a new equals relationship between two {@link IGUIElement}s to the equality manager.
+         * </p>
+         * 
+         * @param guiElement1
+         *            first equal GUI element
+         * @param guiElement2
+         *            second equal GUI element
          */
         private synchronized void addEqualGUIElements(IGUIElement guiElement1,
@@ -121,5 +154,5 @@
             List<IGUIElement> list1 = identityHashMap.get(guiElement1);
             List<IGUIElement> list2 = identityHashMap.get(guiElement2);
-            
+
             if (list1 == null) {
                 if (list2 == null) {
@@ -145,16 +178,17 @@
                 }
                 // else
-                //     in this case, both GUI elements should already be registered with the same
-                //     lists.
-            }
-        }
-
-        /**
-         * <p>
-         * TODO: comment
-         * </p>
-         *
-         * @param abstractDefaultGUIElement
-         * @return
+                // in this case, both GUI elements should already be registered with the same
+                // lists.
+            }
+        }
+
+        /**
+         * <p>
+         * Returns the object hash of a {@link IGUIElement}.
+         * </p>
+         * 
+         * @param guiElement
+         *            gui element whose object hash is determined
+         * @return the object hash
          */
         private synchronized int hashCode(IGUIElement guiElement) {
@@ -164,9 +198,13 @@
         /**
          * <p>
-         * TODO: comment
-         * </p>
-         *
-         * @param abstractDefaultGUIElement
+         * Determines the equality of two {@link IGUIElement}s based on the information of the
+         * identify manager. Two elements are equal, if they have been added as equal using
+         * {@link #addEqualGUIElements(IGUIElement, IGUIElement)}.
+         * </p>
+         * 
+         * @param guiElement
+         *            GUI element to which the object is compared
          * @param other
+         *            object that is compared to the GUI element
          * @return
          */
@@ -179,5 +217,5 @@
                 }
             }
-            
+
             return false;
         }
@@ -185,13 +223,14 @@
         /**
          * <p>
-         * TODO: comment
-         * </p>
-         *
-         * @param guiElement
-         * @return
+         * Returns the equal {@link IGUIElement} of a given {@link IGUIElement}.
+         * </p>
+         * 
+         * @param guiElement
+         *            GUI element of which the equal elements are returned
+         * @return the equal GUI elements
          */
         private List<IGUIElement> getEqualElementsList(IGUIElement guiElement) {
             List<IGUIElement> returnValue = identityHashMap.get(guiElement);
-            
+
             if (returnValue == null) {
                 returnValue = new LinkedList<IGUIElement>();
@@ -199,5 +238,5 @@
                 identityHashMap.put(guiElement, returnValue);
             }
-            
+
             return returnValue;
         }
@@ -205,9 +244,12 @@
         /**
          * <p>
-         * TODO: comment
-         * </p>
-         *
-         * @param resultingList
-         * @param guiElement1
+         * Adds {@link IGUIElement} as equal to a list of {@link IGUIElement} if and only if it is
+         * not already contained.
+         * </p>
+         * 
+         * @param equalElementsList
+         *            list of {@link IGUIElement} to which the GUI element is added
+         * @param guiElement
+         *            GUI element to be added
          */
         private void addIfNotContained(List<IGUIElement> equalElementsList, IGUIElement guiElement)
@@ -218,5 +260,5 @@
                 }
             }
-            
+
             equalElementsList.add(guiElement);
         }
Index: trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/guimodel/GUIElementFactory.java
===================================================================
--- trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/guimodel/GUIElementFactory.java	(revision 821)
+++ trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/guimodel/GUIElementFactory.java	(revision 831)
@@ -1,2 +1,3 @@
+
 package de.ugoe.cs.quest.eventcore.guimodel;
 
@@ -14,25 +15,33 @@
 
 /**
- * TODO comment
+ * <p>
+ * Creates {@link IGUIElement}s from a given specification. Implemented as singleton.
+ * </p>
  * 
- * @version $Revision: $ $Date: 13.05.2012$
- * @author 2012, last modified by $Author: patrick$
+ * @version 1.0
+ * @author Patrick Harms
  */
 public class GUIElementFactory implements IGUIElementFactory {
-    
-    /** */
+
+    /**
+     * <p>
+     * Instance of the class (singleton)
+     * </p>
+     */
     private static GUIElementFactory instance = new GUIElementFactory();
 
     /**
-     * TODO: comment
+     * <p>
+     * Constructor. Creates a new GUIElementFactory. Private to preserve singleton property.
+     * </p>
+     */
+    private GUIElementFactory() {}
+
+    /**
+     * <p>
+     * Returns the instance of this class.
+     * </p>
      * 
-     */
-    private GUIElementFactory() {
-    }
-
-    /**
-     * TODO: comment
-     * 
-     * @return
+     * @return the instance
      */
     public static synchronized GUIElementFactory getInstance() {
@@ -40,35 +49,19 @@
     }
 
+    /**
+     * <p>
+     * A property mapping that defines to which Java class is created given the type of the GUI
+     * element found in the specification.
+     * </p>
+     */
+    private Properties mappingsFromConfiguration;
+
     
-    /** */
-    private Properties mappingsFromConfiguration;
-
-    /**
-     * TODO: comment
+    /*
+     * (non-Javadoc)
      * 
-     * @param object1
-     * @param object2
-     * @return
-     */
-    protected boolean equals(Object object1, Object object2) {
-        if (object1 == object2) {
-            return true;
-        }
-        else if (object1 != null) {
-            return object1.equals(object2);
-        }
-        else {
-            // object 1 is null but object 2 not --> return false
-            return false;
-        }
-    }
-
-    /**
-     * TODO: comment
-     * 
-     * @param parameterTypes
-     * @param parameters
-     * @return
-     * @throws GUIModelConfigurationException
+     * @see
+     * de.ugoe.cs.quest.eventcore.guimodel.IGUIElementFactory#instantiateGUIElement(de.ugoe.cs.quest
+     * .eventcore.guimodel.IGUIElementSpec, de.ugoe.cs.quest.eventcore.guimodel.IGUIElement)
      */
     @Override
@@ -86,5 +79,5 @@
                 if (!IGUIElement.class.isAssignableFrom(clazz)) {
                     Console.traceln(Level.WARNING, "configured GUI element representing class " +
-                                    className + " is no valid GUIElement derivate.");
+                        className + " is no valid GUIElement derivate.");
 
                     return null;
@@ -93,9 +86,8 @@
                 Constructor<?> constructor = null;
                 Class<?> parentClass = (parent == null) ? null : parent.getClass();
-                
+
                 // search for a constructor, that perfectly matches the types
                 for (Constructor<?> candidate : clazz.getConstructors()) {
-                    if ((parentClass != null) &&
-                        (candidate.getParameterTypes().length == 2) &&
+                    if ((parentClass != null) && (candidate.getParameterTypes().length == 2) &&
                         (candidate.getParameterTypes()[0].equals(specification.getClass())) &&
                         (candidate.getParameterTypes()[1].equals(parentClass)))
@@ -113,5 +105,5 @@
                     }
                 }
-                
+
                 if (constructor == null) {
                     // search for an assignable constructor
@@ -125,5 +117,5 @@
                         }
                     }
-                    
+
                 }
                 
@@ -205,7 +197,11 @@
 
     /**
-     * TODO: comment
+     * <p>
+     * Loads the mappings for GUI elements. All files that start with &quot;guimapping&quot;, end
+     * with &quot;.txt&quot;, and are located in the folter &quot;data/guimappings&quot; (relative
+     * to the working directory) are loaded.
+     * </p>
      * 
-     * @return
+     * @return loaded GUI mappings
      */
     private synchronized Properties getMappingsFromConfiguration()
@@ -217,8 +213,8 @@
         else {
             mappingsFromConfiguration = new Properties();
-            
+
             File mappingsFolder = new File("data/guimappings");
             File[] children = mappingsFolder.listFiles();
-            
+
             if (children != null) {
                 for (File mappingsFile : children) {
@@ -233,10 +229,12 @@
                         }
                         catch (FileNotFoundException e) {
-                            throw new GUIModelConfigurationException
-                                ("could not read mapping configuration file " + mappingsFile, e);
+                            throw new GUIModelConfigurationException(
+                                                                     "could not read mapping configuration file " +
+                                                                         mappingsFile, e);
                         }
                         catch (IOException e) {
-                            throw new GUIModelConfigurationException
-                                ("could not read mapping configuration file " + mappingsFile, e);
+                            throw new GUIModelConfigurationException(
+                                                                     "could not read mapping configuration file " +
+                                                                         mappingsFile, e);
                         }
                         finally {
@@ -254,6 +252,7 @@
             }
             else {
-                throw new GUIModelConfigurationException
-                    ("no GUI mappings file provided in folder " + mappingsFolder);
+                throw new GUIModelConfigurationException(
+                                                         "no GUI mappings file provided in folder " +
+                                                             mappingsFolder);
             }
 
Index: trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/guimodel/GUIModel.java
===================================================================
--- trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/guimodel/GUIModel.java	(revision 821)
+++ trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/guimodel/GUIModel.java	(revision 831)
@@ -27,5 +27,5 @@
     /**
      * <p>
-     * the root node of the tree not provided externally.
+     * The root node of the tree not provided externally.
      * </p>
      */
@@ -34,5 +34,5 @@
     /**
      * <p>
-     * a list with all nodes currently known
+     * A list with all nodes currently known
      * </p>
      */
@@ -277,4 +277,10 @@
      * is returned.
      * </p>
+     * 
+     * @param parentNode
+     *            parent node whose children are searched
+     * @param specToMatch
+     *            specification that is searched for
+     * @return matching child node or null if no child matches
      */
     private TreeNode findEqualChild(TreeNode parentNode, IGUIElementSpec specToMatch) {
@@ -302,4 +308,7 @@
      * can merge the children, too.
      * </p>
+     * 
+     * @param subTreeRoot
+     *            root node of the sub-tree that is merged
      */
     private void mergeSubTree(TreeNode subTreeRoot) {
@@ -346,4 +355,8 @@
      * </p>
      * 
+     * @param treeNode1
+     *            the first of the two nodes to be merged
+     * @param treeNode2
+     *            the second of the two nodes to be merged
      * @return a tree node being the merge of the two provided nodes.
      */
@@ -389,4 +402,11 @@
      * element as well as a indented list of its children surrounded by braces.
      * </p>
+     * 
+     * @param out
+     *            {@link PrintStream} where the guiElement is dumped to
+     * @param guiElement
+     *            the guiElement whos string represenation is dumped
+     * @param indent
+     *            indent string of the dumping
      */
     private void dumpGUIElement(PrintStream out, IGUIElement guiElement, String indent) {
@@ -412,18 +432,34 @@
     /**
      * <p>
-     * used internally for building up the tree of GUI elements.
-     * </p>
+     * Used internally for building up the tree of GUI elements.
+     * </p>
+     * 
+     * @version 1.0
+     * @author Patrick Harms, Steffen Herbold
      */
     private class TreeNode {
-        /** */
-        private IGUIElement guiElement;
-
-        /** */
-        private List<TreeNode> children;
 
         /**
          * <p>
-         * adds a child to the current node while keeping all lists of nodes up to date
+         * GUI element associated with the TreeNode.
          * </p>
+         */
+        private IGUIElement guiElement;
+
+        /**
+         * <p>
+         * Children of the TreeNode.
+         * </p>
+         */
+        private List<TreeNode> children;
+
+        /**
+         * <p>
+         * Adds a child to the current node while keeping all lists of nodes up to date
+         * </p>
+         * 
+         * @param guiElement
+         *            GUI element that will be associated with the new child
+         * @return the added child
          */
         private TreeNode addChild(IGUIElement guiElement) {
@@ -446,4 +482,8 @@
          * Adds a TreeNode as child to the current node. This way, the whole sub-tree is added.
          * </p>
+         * 
+         * @param node
+         *            child node that is added
+         * @return node that has been added
          */
         private TreeNode addChildNode(TreeNode node) {
Index: trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/guimodel/GUIModelConfigurationException.java
===================================================================
--- trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/guimodel/GUIModelConfigurationException.java	(revision 821)
+++ trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/guimodel/GUIModelConfigurationException.java	(revision 831)
@@ -1,18 +1,27 @@
+
 package de.ugoe.cs.quest.eventcore.guimodel;
 
 /**
- * TODO comment
+ * <p>
+ * Exception that is thrown if there is a failure during the creation of a {@link IGUIElement} by
+ * the {@link GUIElementFactory}.
+ * </p>
  * 
- * @version $Revision: $ $Date: 27.05.2012$
- * @author 2012, last modified by $Author: patrick$
+ * @version 1.0
+ * @author Patrick Harms
  */
 public class GUIModelConfigurationException extends GUIModelException {
 
-    /**  */
+    /**
+     * <p>
+     * Id for object serialization.
+     * </p>
+     */
     private static final long serialVersionUID = 1L;
 
     /**
-     * TODO: comment
-     * 
+     * <p>
+     * Constructor. Creates a new GUIModelConfigurationException.
+     * </p>
      */
     public GUIModelConfigurationException() {
@@ -21,7 +30,10 @@
 
     /**
-     * TODO: comment
+     * <p>
+     * Constructor. Creates a new GUIModelConfigurationException.
+     * </p>
      * 
      * @param message
+     *            message of the exception
      */
     public GUIModelConfigurationException(String message) {
@@ -30,7 +42,10 @@
 
     /**
-     * TODO: comment
+     * <p>
+     * Constructor. Creates a new GUIModelConfigurationException.
+     * </p>
      * 
      * @param cause
+     *            cause of the exception
      */
     public GUIModelConfigurationException(Throwable cause) {
@@ -39,8 +54,12 @@
 
     /**
-     * TODO: comment
+     * <p>
+     * Constructor. Creates a new GUIModelConfigurationException.
+     * </p>
      * 
      * @param message
+     *            message of the exception
      * @param cause
+     *            cause of the exception
      */
     public GUIModelConfigurationException(String message, Throwable cause) {
Index: trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/guimodel/GUIModelException.java
===================================================================
--- trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/guimodel/GUIModelException.java	(revision 821)
+++ trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/guimodel/GUIModelException.java	(revision 831)
@@ -1,18 +1,26 @@
+
 package de.ugoe.cs.quest.eventcore.guimodel;
 
 /**
- * TODO comment
+ * <p>
+ * Exception that is thrown if there are problems with the {@link GUIModel}.
+ * </p>
  * 
- * @version $Revision: $ $Date: 14.08.2012$
- * @author 2012, last modified by $Author: pharms$
+ * @version 1.0
+ * @author Patrick Harms
  */
 public class GUIModelException extends Exception {
 
-    /**  */
+    /**
+     * <p>
+     * Id for object serialization.
+     * </p>
+     */
     private static final long serialVersionUID = 1L;
 
     /**
-     * TODO: comment
-     *
+     * <p>
+     * Constructor. Creates a new GUIModelException.
+     * </p>
      */
     public GUIModelException() {
@@ -21,7 +29,10 @@
 
     /**
-     * TODO: comment
-     *
+     * <p>
+     * Constructor. Creates a new GUIModelException.
+     * </p>
+     * 
      * @param message
+     *            message of the exception
      */
     public GUIModelException(String message) {
@@ -30,7 +41,10 @@
 
     /**
-     * TODO: comment
-     *
+     * <p>
+     * Constructor. Creates a new GUIModelException.
+     * </p>
+     * 
      * @param cause
+     *            cause of the exception
      */
     public GUIModelException(Throwable cause) {
@@ -39,8 +53,12 @@
 
     /**
-     * TODO: comment
-     *
+     * <p>
+     * Constructor. Creates a new GUIModelException.
+     * </p>
+     * 
      * @param message
+     *            message of the exception
      * @param cause
+     *            cause of the exception
      */
     public GUIModelException(String message, Throwable cause) {
Index: trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/guimodel/IButton.java
===================================================================
--- trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/guimodel/IButton.java	(revision 821)
+++ trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/guimodel/IButton.java	(revision 831)
@@ -3,7 +3,8 @@
 /**
  * <p>
- * marker interface for GUI elements that represent a button
+ * Marker interface for GUI elements that represent a button
  * </p>
  * 
+ * @version 1.0
  * @author Patrick Harms
  */
Index: trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/guimodel/ICanvas.java
===================================================================
--- trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/guimodel/ICanvas.java	(revision 821)
+++ trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/guimodel/ICanvas.java	(revision 831)
@@ -3,8 +3,9 @@
 /**
  * <p>
- * marker interface for GUI elements that represent a canvas, i.e. something to display data or
+ * Marker interface for GUI elements that represent a canvas, i.e. something to display data or
  * media
  * </p>
  * 
+ * @version 1.0
  * @author Patrick Harms
  */
Index: trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/guimodel/ICheckBox.java
===================================================================
--- trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/guimodel/ICheckBox.java	(revision 821)
+++ trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/guimodel/ICheckBox.java	(revision 831)
@@ -3,7 +3,8 @@
 /**
  * <p>
- * marker interface for GUI elements that represent a check box
+ * Marker interface for GUI elements that represent a check box
  * </p>
  * 
+ * @version 1.0
  * @author Patrick Harms
  */
Index: trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/guimodel/IComboBox.java
===================================================================
--- trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/guimodel/IComboBox.java	(revision 821)
+++ trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/guimodel/IComboBox.java	(revision 831)
@@ -3,7 +3,8 @@
 /**
  * <p>
- * marker interface for GUI elements that represent a combo box
+ * Marker interface for GUI elements that represent a combo box
  * </p>
  * 
+ * @version 1.0
  * @author Patrick Harms
  */
Index: trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/guimodel/IDialog.java
===================================================================
--- trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/guimodel/IDialog.java	(revision 821)
+++ trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/guimodel/IDialog.java	(revision 831)
@@ -3,7 +3,8 @@
 /**
  * <p>
- * marker interface for GUI elements that represent a dialog
+ * Marker interface for GUI elements that represent a dialog
  * </p>
  * 
+ * @version 1.0
  * @author Patrick Harms
  */
Index: trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/guimodel/IFrame.java
===================================================================
--- trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/guimodel/IFrame.java	(revision 821)
+++ trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/guimodel/IFrame.java	(revision 831)
@@ -3,7 +3,8 @@
 /**
  * <p>
- * marker interface for GUI elements that represent a frame or window
+ * Marker interface for GUI elements that represent a frame or window
  * </p>
  * 
+ * @version 1.0
  * @author Patrick Harms
  */
Index: trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/guimodel/IGUIElement.java
===================================================================
--- trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/guimodel/IGUIElement.java	(revision 821)
+++ trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/guimodel/IGUIElement.java	(revision 831)
@@ -1,2 +1,3 @@
+
 package de.ugoe.cs.quest.eventcore.guimodel;
 
@@ -5,16 +6,18 @@
 /**
  * <p>
- * TODO comment
+ * Common interface for all GUI elements.
  * </p>
  * 
- * @version $Revision: $ $Date: $
- * @author 2011, last modified by $Author: $
+ * @version 1.0
+ * @author Patrick Harms
  */
 public interface IGUIElement extends IEventTarget {
-    
+
     /**
      * <p>
-     * TODO comment
+     * Returns the specification of the GUI element.
      * </p>
+     * 
+     * @return the specification
      */
     public IGUIElementSpec getSpecification();
@@ -22,6 +25,8 @@
     /**
      * <p>
-     * TODO comment
+     * Returns the parent of the GUI element.
      * </p>
+     * 
+     * @return the parent
      */
     public IGUIElement getParent();
@@ -29,23 +34,30 @@
     /**
      * <p>
-     * TODO comment
+     * Defines that {@link IGUIElement} implementations have to define equals.
      * </p>
-     *  
-     * @param other
-     * @return
+     * 
+     * @see Object#equals(Object)
      */
+    @Override
     public boolean equals(Object other);
 
     /**
      * <p>
-     * TODO comment
+     * Defines that {@link IGUIElement} implementations have to define hashCode.
      * </p>
+     * 
+     * @see Object#hashCode()
      */
+    @Override
     public int hashCode();
 
     /**
      * <p>
-     * TODO comment
+     * Updates the specification of a GUI element with another specification, e.g., to add further
+     * known names of the GUI element.
      * </p>
+     * 
+     * @param furtherSpec
+     *            additional specification
      */
     public void updateSpecification(IGUIElementSpec furtherSpec);
@@ -53,8 +65,10 @@
     /**
      * <p>
-     * TODO: comment
+     * The {@link IGUIElement} that is passed by this function is equal to the current GUI element
+     * and will hereafter be treated as such.
      * </p>
-     *
+     * 
      * @param guiElement
+     *            GUI element that is equal
      */
     public void addEqualGUIElement(IGUIElement equalElement);
Index: trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/guimodel/IGUIElementFactory.java
===================================================================
--- trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/guimodel/IGUIElementFactory.java	(revision 821)
+++ trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/guimodel/IGUIElementFactory.java	(revision 831)
@@ -3,9 +3,9 @@
 /**
  * <p>
- * TODO comment
+ * Common interface for GUI element factories. 
  * </p>
  * 
- * @version $Revision: $ $Date: 17.08.2012$
- * @author 2012, last modified by $Author: pharms$
+ * @version 1.0
+ * @author Patrick Harms
  */
 public interface IGUIElementFactory {
@@ -13,9 +13,14 @@
     /**
      * <p>
-     * TODO: comment
+     * Instantiates a new {@link IGUIElement} from a given specification.
      * </p>
-     *
+     * 
      * @param specification
-     * @return
+     *            specification of the new GUI element
+     * @param parent
+     *            parent of the new GUI element
+     * @return created GUI element
+     * @throws GUIModelConfigurationException
+     *             thrown if there is a problem during the creation of the GUI element
      */
     public IGUIElement instantiateGUIElement(IGUIElementSpec specification, IGUIElement parent)
Index: trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/guimodel/IGUIElementSpec.java
===================================================================
--- trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/guimodel/IGUIElementSpec.java	(revision 821)
+++ trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/guimodel/IGUIElementSpec.java	(revision 831)
@@ -1,2 +1,3 @@
+
 package de.ugoe.cs.quest.eventcore.guimodel;
 
@@ -5,9 +6,9 @@
 /**
  * <p>
- * TODO comment
+ * Common interface for GUI element specifications.
  * </p>
  * 
- * @version $Revision: $ $Date: 17.08.2012$
- * @author 2012, last modified by $Author: pharms$
+ * @version 1.0
+ * @author Patrick Harms
  */
 public interface IGUIElementSpec extends Serializable {
@@ -15,18 +16,20 @@
     /**
      * <p>
-     * TODO: comment
+     * Returns a string represenation of the GUI element type that this specification represents.
      * </p>
-     *
+     * 
      * @return
      */
     public String getType();
-    
+
     /**
      * <p>
-     * TODO: comment
+     * Evaluates if two GUI specifications are similar. Similar means that a heuristic determines
+     * that the two GUI specifications describe the same GUI element.
      * </p>
-     *
+     * 
      * @param other
-     * @return
+     *            specification whose similarity to this is evaluated
+     * @return true if the specifications are similar; false otherwise
      */
     public boolean getSimilarity(IGUIElementSpec other);
@@ -34,19 +37,20 @@
     /**
      * <p>
-     * TODO: comment
+     * Defines that {@link IGUIElement} implementations have to define equals.
      * </p>
-     *
-     * @param other
-     * @return
+     * 
+     * @see Object#equals(Object)
      */
-    public boolean equals(IGUIElementSpec other);
-    
+    @Override
+    public boolean equals(Object other);
+
     /**
      * <p>
-     * TODO: comment
+     * Defines that {@link IGUIElement} implementations have to define hashCode.
      * </p>
-     *
-     * @return
+     * 
+     * @see Object#hashCode()
      */
+    @Override
     public int hashCode();
 }
Index: trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/guimodel/IListBox.java
===================================================================
--- trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/guimodel/IListBox.java	(revision 821)
+++ trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/guimodel/IListBox.java	(revision 831)
@@ -3,7 +3,8 @@
 /**
  * <p>
- * marker interface for GUI elements that represent a list or list box
+ * Marker interface for GUI elements that represent a list or list box
  * </p>
  * 
+ * @version 1.0
  * @author Patrick Harms
  */
Index: trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/guimodel/IMenu.java
===================================================================
--- trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/guimodel/IMenu.java	(revision 821)
+++ trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/guimodel/IMenu.java	(revision 831)
@@ -3,7 +3,8 @@
 /**
  * <p>
- * marker interface for GUI elements that represent a menu
+ * Marker interface for GUI elements that represent a menu
  * </p>
  * 
+ * @version 1.0
  * @author Patrick Harms
  */
Index: trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/guimodel/IMenuBar.java
===================================================================
--- trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/guimodel/IMenuBar.java	(revision 821)
+++ trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/guimodel/IMenuBar.java	(revision 831)
@@ -3,7 +3,8 @@
 /**
  * <p>
- * marker interface for GUI elements that represent a menu bar
+ * Marker interface for GUI elements that represent a menu bar
  * </p>
  * 
+ * @version 1.0
  * @author Patrick Harms
  */
Index: trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/guimodel/IMenuButton.java
===================================================================
--- trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/guimodel/IMenuButton.java	(revision 821)
+++ trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/guimodel/IMenuButton.java	(revision 831)
@@ -3,7 +3,8 @@
 /**
  * <p>
- * marker interface for GUI elements that represent a button in a menu
+ * Marker interface for GUI elements that represent a button in a menu
  * </p>
  * 
+ * @version 1.0
  * @author Patrick Harms
  */
Index: trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/guimodel/IPanel.java
===================================================================
--- trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/guimodel/IPanel.java	(revision 821)
+++ trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/guimodel/IPanel.java	(revision 831)
@@ -3,7 +3,8 @@
 /**
  * <p>
- * marker interface for GUI elements that represent a panel for structuring GUI content
+ * Marker interface for GUI elements that represent a panel for structuring GUI content
  * </p>
  * 
+ * @version 1.0
  * @author Patrick Harms
  */
Index: trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/guimodel/IRadioButton.java
===================================================================
--- trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/guimodel/IRadioButton.java	(revision 821)
+++ trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/guimodel/IRadioButton.java	(revision 831)
@@ -3,7 +3,8 @@
 /**
  * <p>
- * marker interface for GUI elements that represent a radio button
+ * Marker interface for GUI elements that represent a radio button
  * </p>
  * 
+ * @version 1.0
  * @author Patrick Harms
  */
Index: trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/guimodel/IScrollBar.java
===================================================================
--- trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/guimodel/IScrollBar.java	(revision 821)
+++ trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/guimodel/IScrollBar.java	(revision 831)
@@ -3,7 +3,8 @@
 /**
  * <p>
- * marker interface for GUI elements that represent a scroll bar of a scroll pane
+ * Marker interface for GUI elements that represent a scroll bar of a scroll pane
  * </p>
  * 
+ * @version 1.0
  * @author Patrick Harms
  */
Index: trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/guimodel/IScrollPane.java
===================================================================
--- trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/guimodel/IScrollPane.java	(revision 821)
+++ trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/guimodel/IScrollPane.java	(revision 831)
@@ -3,7 +3,8 @@
 /**
  * <p>
- * marker interface for GUI elements that represent a scroll pane
+ * Marker interface for GUI elements that represent a scroll pane
  * </p>
  * 
+ * @version 1.0
  * @author Patrick Harms
  */
Index: trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/guimodel/IShape.java
===================================================================
--- trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/guimodel/IShape.java	(revision 821)
+++ trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/guimodel/IShape.java	(revision 831)
@@ -3,8 +3,9 @@
 /**
  * <p>
- * marker interface for GUI elements that represent any kind of shape not covered by the other
+ * Marker interface for GUI elements that represent any kind of shape not covered by the other
  * marker interfaces
  * </p>
  * 
+ * @version 1.0
  * @author Patrick Harms
  */
Index: trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/guimodel/ISplitPane.java
===================================================================
--- trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/guimodel/ISplitPane.java	(revision 821)
+++ trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/guimodel/ISplitPane.java	(revision 831)
@@ -3,7 +3,8 @@
 /**
  * <p>
- * marker interface for GUI elements that represent a split pane
+ * Marker interface for GUI elements that represent a split pane
  * </p>
  * 
+ * @version 1.0
  * @author Patrick Harms
  */
Index: trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/guimodel/ITabbedPane.java
===================================================================
--- trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/guimodel/ITabbedPane.java	(revision 821)
+++ trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/guimodel/ITabbedPane.java	(revision 831)
@@ -3,7 +3,8 @@
 /**
  * <p>
- * marker interface for GUI elements that represent a tabbed pane
+ * Marker interface for GUI elements that represent a tabbed pane
  * </p>
  * 
+ * @version 1.0
  * @author Patrick Harms
  */
Index: trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/guimodel/ITable.java
===================================================================
--- trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/guimodel/ITable.java	(revision 821)
+++ trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/guimodel/ITable.java	(revision 831)
@@ -3,7 +3,8 @@
 /**
  * <p>
- * marker interface for GUI elements that represent a table
+ * Marker interface for GUI elements that represent a table
  * </p>
  * 
+ * @version 1.0
  * @author Patrick Harms
  */
Index: trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/guimodel/ITextArea.java
===================================================================
--- trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/guimodel/ITextArea.java	(revision 821)
+++ trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/guimodel/ITextArea.java	(revision 831)
@@ -3,7 +3,8 @@
 /**
  * <p>
- * marker interface for GUI elements that represent a multi line text area
+ * Marker interface for GUI elements that represent a multi line text area
  * </p>
  * 
+ * @version 1.0
  * @author Patrick Harms
  */
Index: trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/guimodel/ITextField.java
===================================================================
--- trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/guimodel/ITextField.java	(revision 821)
+++ trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/guimodel/ITextField.java	(revision 831)
@@ -3,7 +3,8 @@
 /**
  * <p>
- * marker interface for GUI elements that represent a single line text field
+ * Marker interface for GUI elements that represent a single line text field
  * </p>
  * 
+ * @version 1.0
  * @author Patrick Harms
  */
Index: trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/guimodel/IToolBar.java
===================================================================
--- trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/guimodel/IToolBar.java	(revision 821)
+++ trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/guimodel/IToolBar.java	(revision 831)
@@ -3,7 +3,8 @@
 /**
  * <p>
- * marker interface for GUI elements that represent a tool bar
+ * Marker interface for GUI elements that represent a tool bar
  * </p>
  * 
+ * @version 1.0
  * @author Patrick Harms
  */
Index: trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/guimodel/ITrackBar.java
===================================================================
--- trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/guimodel/ITrackBar.java	(revision 821)
+++ trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/guimodel/ITrackBar.java	(revision 831)
@@ -3,7 +3,8 @@
 /**
  * <p>
- * marker interface for GUI elements that represent a track bar
+ * Marker interface for GUI elements that represent a track bar
  * </p>
  * 
+ * @version 1.0
  * @author Patrick Harms
  */
Index: trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/guimodel/ITree.java
===================================================================
--- trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/guimodel/ITree.java	(revision 821)
+++ trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/guimodel/ITree.java	(revision 831)
@@ -3,7 +3,8 @@
 /**
  * <p>
- * marker interface for GUI elements that represent a tree view
+ * Marker interface for GUI elements that represent a tree view
  * </p>
  * 
+ * @version 1.0
  * @author Patrick Harms
  */
