Index: trunk/autoquest-core-events/src/main/java/de/ugoe/cs/autoquest/eventcore/HierarchicalEventTargetGroup.java
===================================================================
--- trunk/autoquest-core-events/src/main/java/de/ugoe/cs/autoquest/eventcore/guimodel/GUIElementGroup.java	(revision 1876)
+++ trunk/autoquest-core-events/src/main/java/de/ugoe/cs/autoquest/eventcore/HierarchicalEventTargetGroup.java	(revision 2146)
@@ -13,5 +13,5 @@
 //   limitations under the License.
 
-package de.ugoe.cs.autoquest.eventcore.guimodel;
+package de.ugoe.cs.autoquest.eventcore;
 
 import java.util.Collections;
@@ -21,13 +21,13 @@
 /**
  * <p>
- * This class is a dummy GUI element to represent groups of GUI elements. A group of GUI elements
- * can be integrated in any GUI model using the method
- * {@link GUIModel#groupGUIElements(java.util.List, String)}. A group has the same behavior as
- * any other parent GUI element.
+ * This class is a dummy hierarchical event target to represent groups of event targets. A group of
+ * event targets can be integrated in any hierarchical event target model using the method
+ * {@link HierarchicalEventTargetModel#groupEventTargets(List, String, IEventTargetFactory)}. A
+ * group has the same behavior as any other parent hierarchical event target.
  * </p>
  * 
  * @author Patrick Harms
  */
-public class GUIElementGroup extends AbstractDefaultGUIElement {
+public class HierarchicalEventTargetGroup extends AbstractDefaultHierarchicalEventTarget {
 
     /**
@@ -39,28 +39,24 @@
     
     /**
-     * the list of grouped GUIElements
+     * the list of grouped event targets
      */
-    private List<IGUIElement> groupedGUIElements = new LinkedList<IGUIElement>();
+    private List<IHierarchicalEventTarget> groupedEventTargets =
+        new LinkedList<IHierarchicalEventTarget>();
 
     /**
      * <p>
-     * instantiates a GUI element group with a name and its optional parent GUI element
+     * instantiates an event target group with a name and its optional parent event target
      * </p>
      *
-     * @param groupName the name of the GUI element group
-     * @param parent    the optional parent GUI element of the group
-     * @param guiModel  the GUI model to which the group will belong
+     * @param groupName        the name of the event target group
+     * @param parent           the optional parent event target of the group
+     * @param eventTargetModel the event target model to which the group will belong
      */
-    public GUIElementGroup(String groupName, IGUIElement parent, GUIModel guiModel) {
+    public HierarchicalEventTargetGroup(String                          groupName,
+                                        IHierarchicalEventTarget        parent,
+                                        HierarchicalEventTargetModel<?> eventTargetModel)
+    {
         super(new GroupSpecification(groupName), parent);
-        super.setGUIModel(guiModel);
-    }
-
-    /* (non-Javadoc)
-     * @see de.ugoe.cs.autoquest.eventcore.guimodel.IGUIElement#updateSpecification(IGUIElementSpec)
-     */
-    @Override
-    public final void updateSpecification(IGUIElementSpec furtherSpec) {
-        // do nothing
+        super.setEventTargetModel(eventTargetModel);
     }
 
@@ -90,59 +86,43 @@
 
     /* (non-Javadoc)
-     * @see de.ugoe.cs.autoquest.eventcore.guimodel.IGUIElement#getView()
+     * @see IHierarchicalEventTarget#updateSpecification(IEventTargetSpec)
      */
     @Override
-    public IGUIView getView() {
-        return null;
-    }
-
-    /* (non-Javadoc)
-     * @see de.ugoe.cs.autoquest.eventcore.guimodel.IGUIElement#getDistanceTo(IGUIElement)
-     */
-    @Override
-    public double getDistanceTo(IGUIElement otherElement) {
-        if (equals(otherElement)) {
-            return 0.0;
-        }
-        else if (super.getParent() != null) {
-            return super.getParent().getDistanceTo(otherElement);
-        }
-        else {
-            return 1.0;
-        }
+    public void updateSpecification(IEventTargetSpec furtherSpec) {
+        // do nothing
     }
 
     /**
      * <p>
-     * returns the list of GUI elements belonging to this group.
+     * returns the list of event targets belonging to this group.
      * </p>
      * 
-     * @return the GUI elements belonging to this group
+     * @return the event targets belonging to this group
      * 
      */
-    public List<IGUIElement> getGroupedElements() {
-        return Collections.unmodifiableList(groupedGUIElements);
+    public List<IHierarchicalEventTarget> getGroupedEventTargets() {
+        return Collections.unmodifiableList(groupedEventTargets);
     }
     
     /**
      * <p>
-     * allows adding a new GUI element to the group
+     * allows adding a new event target to the group
      * </p>
      *
-     * @param guiElement the new member of the group
+     * @param eventTarget the new member of the group
      */
-    void addToGroup(IGUIElement guiElement) {
-        this.groupedGUIElements.add(guiElement);
+    void addToGroup(IHierarchicalEventTarget eventTarget) {
+        this.groupedEventTargets.add(eventTarget);
     }
     
     /**
      * <p>
-     * internally required GUI element specification for a GUI element group. This is just a wrapper
-     * for a name of a GUI element group
+     * internally required event target specification for an event target group. This is just a
+     * wrapper for a name of an event target group
      * </p>
      * 
      * @author Patrick Harms
      */
-    private static class GroupSpecification implements IGUIElementSpec {
+    private static class GroupSpecification implements IEventTargetSpec {
         
         /**
@@ -155,5 +135,5 @@
         /**
          * <p>
-         * the name of the GUI element group represented by this specification
+         * the name of the event target group represented by this specification
          * </p>
          */
@@ -174,24 +154,8 @@
 
         /* (non-Javadoc)
-         * @see de.ugoe.cs.autoquest.eventcore.guimodel.IGUIElementSpec#getType()
+         * @see IEventTargetSpec#getSimilarity(IEventTargetSpec)
          */
         @Override
-        public String getType() {
-            return "GUI element group";
-        }
-
-        /* (non-Javadoc)
-         * @see de.ugoe.cs.autoquest.eventcore.guimodel.IGUIElementSpec#getTypeHierarchy()
-         */
-        @Override
-        public String[] getTypeHierarchy() {
-            return new String[] { getType() };
-        }
-
-        /* (non-Javadoc)
-         * @see de.ugoe.cs.autoquest.eventcore.guimodel.IGUIElementSpec#getSimilarity(IGUIElementSpec)
-         */
-        @Override
-        public boolean getSimilarity(IGUIElementSpec other) {
+        public boolean getSimilarity(IEventTargetSpec other) {
             return
                 (other instanceof GroupSpecification) &&
