Error log:
[26-12-13 3:16]: java.util.ConcurrentModificationException
[26-12-13 3:16]: at java.util.ArrayList$Itr.checkForComodification(ArrayList.java:819)
[26-12-13 3:16]: at java.util.ArrayList$Itr.next(ArrayList.java:791)
[26-12-13 3:16]: at server.event.cycle.CycleEventHandler.stopEvents(CycleEventHandler.java:60) [26-12-13 3:16]: at server.model.players.Client.logout(Client.java:292)
Method:
public void stopEvents(Object owner) {
for (CycleEventContainer c : events) {
if(c.getOwner() == owner) {
c.stop();
}
}
}
Question: How do I fix this error?
Edit; stop method:
public void stop() {
isRunning = false;
event.stop();
}
Would this work?
public void stopEvents(Object owner) {
ArrayList<CycleEventContainer> garbageEvents = new ArrayList<>();
for (CycleEventContainer c : events) {
if(c.getOwner() == owner) {
garbageEvents.add(c);
}
}
for (CycleEventContainer c: garbageEvents) {
c.stop();
}
garbageEvents.clear();
}