Fixed ConcurrentModificationException
[hibernate4-maven-plugin] / src / main / java / de / juplo / plugins / hibernate / ModificationTracker.java
index d9ce624..7b5791f 100644 (file)
@@ -126,10 +126,18 @@ public class ModificationTracker
 
   boolean modified()
   {
-    modified |= !propertyNames.containsAll(properties.keySet());
-    modified |= !properties.keySet().containsAll(propertyNames);
-    modified |= !classNames.containsAll(classes.keySet());
-    modified |= !classes.keySet().containsAll(classNames);
+    for (String property : new HashSet<String>(properties.keySet()))
+      if (!propertyNames.contains(property))
+      {
+        modified = true;
+        properties.remove(property);
+      }
+     for (String clazz : new HashSet<String>(classes.keySet()))
+      if (!classNames.contains(clazz))
+      {
+        modified = true;
+        classes.remove(clazz);
+      }
     return modified;
   }