Index: trunk/autoquest-plugin-html/src/main/java/de/ugoe/cs/autoquest/plugin/html/guimodel/HTMLDocumentSpec.java
===================================================================
--- trunk/autoquest-plugin-html/src/main/java/de/ugoe/cs/autoquest/plugin/html/guimodel/HTMLDocumentSpec.java	(revision 1435)
+++ trunk/autoquest-plugin-html/src/main/java/de/ugoe/cs/autoquest/plugin/html/guimodel/HTMLDocumentSpec.java	(revision 1436)
@@ -77,5 +77,7 @@
      */
     public HTMLDocumentSpec(HTMLServerSpec server, String path, String query, String title) {
-        super("document");
+        super("document", (server != null ? server.hashCode() : 0) +
+              (path != null ? path.hashCode() : 0) + (query != null ? query.hashCode() : 0) +
+              (title != null ? title.hashCode() : 0));
         
         if (server == null) {
Index: trunk/autoquest-plugin-html/src/main/java/de/ugoe/cs/autoquest/plugin/html/guimodel/HTMLGUIElementSpec.java
===================================================================
--- trunk/autoquest-plugin-html/src/main/java/de/ugoe/cs/autoquest/plugin/html/guimodel/HTMLGUIElementSpec.java	(revision 1435)
+++ trunk/autoquest-plugin-html/src/main/java/de/ugoe/cs/autoquest/plugin/html/guimodel/HTMLGUIElementSpec.java	(revision 1436)
@@ -40,4 +40,11 @@
      */
     private String type;
+
+    /**
+     * <p>
+     * the hashCode of this GUI element specification
+     * </p>
+     */
+    private int hashCode;
     
     /**
@@ -50,5 +57,5 @@
      * @throws IllegalArgumentException if the provided type is null
      */
-    public HTMLGUIElementSpec(String type) {
+    public HTMLGUIElementSpec(String type, int hashCode) {
         if (type == null) {
             throw new IllegalArgumentException("type must not be null");
@@ -56,4 +63,5 @@
 
         this.type = type;
+        this.hashCode = hashCode;
     }
 
@@ -87,3 +95,11 @@
     }
 
+    /* (non-Javadoc)
+     * @see java.lang.Object#hashCode()
+     */
+    @Override
+    public int hashCode() {
+        return hashCode;
+    }
+
 }
Index: trunk/autoquest-plugin-html/src/main/java/de/ugoe/cs/autoquest/plugin/html/guimodel/HTMLPageElementSpec.java
===================================================================
--- trunk/autoquest-plugin-html/src/main/java/de/ugoe/cs/autoquest/plugin/html/guimodel/HTMLPageElementSpec.java	(revision 1435)
+++ trunk/autoquest-plugin-html/src/main/java/de/ugoe/cs/autoquest/plugin/html/guimodel/HTMLPageElementSpec.java	(revision 1436)
@@ -83,5 +83,7 @@
      */
     public HTMLPageElementSpec(HTMLDocumentSpec page, String tagName, String htmlId, int index) {
-        super(tagName);
+        super(tagName, (page != null ? page.hashCode() : 0) +
+              (tagName != null ? tagName.hashCode() : 0) + 
+              (htmlId != null ? htmlId.hashCode() : 0) + (index >= 0 ? index : 0));
         
         if (page == null) {
Index: trunk/autoquest-plugin-html/src/main/java/de/ugoe/cs/autoquest/plugin/html/guimodel/HTMLServerSpec.java
===================================================================
--- trunk/autoquest-plugin-html/src/main/java/de/ugoe/cs/autoquest/plugin/html/guimodel/HTMLServerSpec.java	(revision 1435)
+++ trunk/autoquest-plugin-html/src/main/java/de/ugoe/cs/autoquest/plugin/html/guimodel/HTMLServerSpec.java	(revision 1436)
@@ -59,5 +59,5 @@
      */
     public HTMLServerSpec(String host, int port) {
-        super("server");
+        super("server", (host != null ? host.hashCode() : 0) + port);
         
         if (host == null) {
