diff --git a/src/main/java/de/prob/voparser/VOTypeChecker.java b/src/main/java/de/prob/voparser/VOTypeChecker.java index 3fa6385503434db4f86fe18689a1747e0a9b019b..a73e6ebb4ea0b2352cca2ab809a053b5fdec6e50 100644 --- a/src/main/java/de/prob/voparser/VOTypeChecker.java +++ b/src/main/java/de/prob/voparser/VOTypeChecker.java @@ -50,7 +50,8 @@ public class VOTypeChecker extends DepthFirstAdapter { PersistentHashSet<AnimatorState> resultAnimatorState = leftAnimatorState; for(AnimatorState state : leftAnimatorState) { if(!rightAnimatorState.contains(state)) { - resultAnimatorState.remove(state); + // Do not use remove as PersistentHashSet is immutable + resultAnimatorState = resultAnimatorState.disjoin(state); } } resultAnimatorState = resultAnimatorState.disjoin(AnimatorState.TRACE); @@ -68,7 +69,8 @@ public class VOTypeChecker extends DepthFirstAdapter { PersistentHashSet<AnimatorState> resultAnimatorState = leftAnimatorState; for(AnimatorState state : leftAnimatorState) { if(!rightAnimatorState.contains(state)) { - resultAnimatorState.remove(state); + // Do not use remove as PersistentHashSet is immutable + resultAnimatorState = resultAnimatorState.disjoin(state); } } resultAnimatorState = resultAnimatorState.disjoin(AnimatorState.STATE_SPACE);