Index: /trunk/autoquest-plugin-android/src/main/java/de/ugoe/cs/autoquest/eventcore/gui/CharacterTyped.java
===================================================================
--- /trunk/autoquest-plugin-android/src/main/java/de/ugoe/cs/autoquest/eventcore/gui/CharacterTyped.java	(revision 1867)
+++ /trunk/autoquest-plugin-android/src/main/java/de/ugoe/cs/autoquest/eventcore/gui/CharacterTyped.java	(revision 1868)
@@ -58,10 +58,10 @@
     @Override
     public boolean startsLogicalSequence() {
-        return false;
+        throw new UnsupportedOperationException("not implemented yet");
     }
 
     @Override
     public boolean finishesLogicalSequence() {
-        return false;
+        throw new UnsupportedOperationException("not implemented yet");
     }
 
@@ -73,8 +73,13 @@
     @Override
     public boolean equals(Object obj) {
-        if (obj instanceof CharacterTyped) {
-            return (((CharacterTyped) obj).getString() == getString());
+        if(obj == this){
+            return true;
         }
-        return false;
+        if(!(obj instanceof CharacterTyped)){
+            return false;
+        }
+        CharacterTyped character = (CharacterTyped)obj;
+        return character.string.equals(string);
+        
     }
 
@@ -87,4 +92,14 @@
     public int hashCode() {
         return getString().hashCode();
+    }
+    
+    /*
+     * (non-Javadoc)
+     * 
+     * @see java.lang.Object#toString()
+     */
+    @Override
+    public String toString() {
+        return "StringTyped: " + string;
     }
 
Index: /trunk/autoquest-plugin-android/src/main/java/de/ugoe/cs/autoquest/eventcore/gui/TouchSingle.java
===================================================================
--- /trunk/autoquest-plugin-android/src/main/java/de/ugoe/cs/autoquest/eventcore/gui/TouchSingle.java	(revision 1867)
+++ /trunk/autoquest-plugin-android/src/main/java/de/ugoe/cs/autoquest/eventcore/gui/TouchSingle.java	(revision 1868)
@@ -17,5 +17,5 @@
 /**
  * <p>
- * Event type for a single touch events, i.e., touch on a mobile phone.
+ * Event type for a single touch events, i.e. touch on a mobile phone.
  * </p>
  * 
@@ -104,8 +104,12 @@
     @Override
     public boolean equals(Object obj) {
-        if (obj instanceof TouchSingle) {
-            return (((TouchSingle) obj).getX() == getX()) && (((TouchSingle) obj).getY() == getY());
+        if(obj == this){
+            return true;
         }
-        return false;
+        if(!(obj instanceof TouchSingle)){
+            return false;
+        }
+        TouchSingle touch = (TouchSingle)obj;
+        return touch.getX() == x && touch.getY() == y;
     }
 
@@ -117,6 +121,13 @@
     @Override
     public int hashCode() {
-        //TODO create a hashCode
-        return 0;
+        // 17 due to the reason that this is a prime number.
+        int result = 17;
+        /*
+         * 31 due to the reason that a lot of VM's could optimize this multiplication by a shift.
+         * Source: Effective Java, Joshua Bloch, 2008, p.48
+         */
+        result = 31 * result + Float.floatToIntBits(x);
+        result = 31 * result + Float.floatToIntBits(y);
+        return result;
     }
 
