Index: /trunk/autoquest-core-usability/src/main/java/de/ugoe/cs/autoquest/usability/DefaultCursorPositioningRule.java
===================================================================
--- /trunk/autoquest-core-usability/src/main/java/de/ugoe/cs/autoquest/usability/DefaultCursorPositioningRule.java	(revision 2242)
+++ /trunk/autoquest-core-usability/src/main/java/de/ugoe/cs/autoquest/usability/DefaultCursorPositioningRule.java	(revision 2243)
@@ -177,5 +177,5 @@
      *
      */
-    private class FirstViewActionStatistics {
+    private static class FirstViewActionStatistics {
         
         /** */
Index: /trunk/autoquest-core-usability/src/main/java/de/ugoe/cs/autoquest/usability/DefaultValueRule.java
===================================================================
--- /trunk/autoquest-core-usability/src/main/java/de/ugoe/cs/autoquest/usability/DefaultValueRule.java	(revision 2242)
+++ /trunk/autoquest-core-usability/src/main/java/de/ugoe/cs/autoquest/usability/DefaultValueRule.java	(revision 2243)
@@ -747,4 +747,22 @@
             return "group(" + groupedTargets.size() + " targets, view " + super.getView() + ")";
         }
+
+        /* (non-Javadoc)
+         * @see de.ugoe.cs.autoquest.usability.DefaultValueRule.ValueSelectionTarget#equals(java.lang.Object)
+         */
+        @Override
+        public boolean equals(Object obj) {
+            // Use parent implementation as the parent class will point to the parent GUI Element representing this group
+            return super.equals(obj);
+        }
+
+        /* (non-Javadoc)
+         * @see de.ugoe.cs.autoquest.usability.DefaultValueRule.ValueSelectionTarget#hashCode()
+         */
+        @Override
+        public int hashCode() {
+            // Use parent implementation as the parent class will point to the parent GUI Element representing this group
+            return super.hashCode();
+        }
     }
 }
Index: /trunk/autoquest-core-usability/src/main/java/de/ugoe/cs/autoquest/usability/MisleadingClickCueRule.java
===================================================================
--- /trunk/autoquest-core-usability/src/main/java/de/ugoe/cs/autoquest/usability/MisleadingClickCueRule.java	(revision 2242)
+++ /trunk/autoquest-core-usability/src/main/java/de/ugoe/cs/autoquest/usability/MisleadingClickCueRule.java	(revision 2243)
@@ -173,5 +173,5 @@
      *
      */
-    private class UselessClickStatistics {
+    private static class UselessClickStatistics {
         
         /** */
Index: /trunk/autoquest-generic-event-monitor/src/main/java/de/ugoe/cs/autoquest/genericeventmonitor/GenericEventMonitorLogManager.java
===================================================================
--- /trunk/autoquest-generic-event-monitor/src/main/java/de/ugoe/cs/autoquest/genericeventmonitor/GenericEventMonitorLogManager.java	(revision 2242)
+++ /trunk/autoquest-generic-event-monitor/src/main/java/de/ugoe/cs/autoquest/genericeventmonitor/GenericEventMonitorLogManager.java	(revision 2243)
@@ -117,6 +117,6 @@
      */
     @Override
-    public void handleEvents(ClientInfos          clientInfos,
-                             GenericEvent[]       events)
+    public synchronized void handleEvents(ClientInfos          clientInfos,
+                                          GenericEvent[]       events)
     {
         OutputWriter writer = writers.get(clientInfos.getAppId() + clientInfos.getClientId());
Index: /trunk/autoquest-generic-event-monitor/src/main/java/de/ugoe/cs/autoquest/genericeventmonitor/GenericEventMonitorServlet.java
===================================================================
--- /trunk/autoquest-generic-event-monitor/src/main/java/de/ugoe/cs/autoquest/genericeventmonitor/GenericEventMonitorServlet.java	(revision 2242)
+++ /trunk/autoquest-generic-event-monitor/src/main/java/de/ugoe/cs/autoquest/genericeventmonitor/GenericEventMonitorServlet.java	(revision 2243)
@@ -59,10 +59,10 @@
      * the map of event target ids to the concrete target objects.
      */
-    private transient Map<String, GenericEventTarget> eventTargets = new HashMap<>();
+    private Map<String, GenericEventTarget> eventTargets = new HashMap<>();
 
     /**
      * the message listener to forward received messages to.
      */
-    private transient GenericEventMonitorMessageListener messageListener;
+    private GenericEventMonitorMessageListener messageListener;
 
     /**
Index: /trunk/autoquest-generic-event-monitor/src/main/java/de/ugoe/cs/autoquest/genericeventmonitor/OutputWriter.java
===================================================================
--- /trunk/autoquest-generic-event-monitor/src/main/java/de/ugoe/cs/autoquest/genericeventmonitor/OutputWriter.java	(revision 2242)
+++ /trunk/autoquest-generic-event-monitor/src/main/java/de/ugoe/cs/autoquest/genericeventmonitor/OutputWriter.java	(revision 2243)
@@ -198,6 +198,6 @@
      */
     @Override
-    public void handleEvents(ClientInfos          clientInfos,
-                             GenericEvent[]       events)
+    public synchronized void handleEvents(ClientInfos          clientInfos,
+                                          GenericEvent[]       events)
     {
         if (outputWriter == null) {
