/** * Stops all events which are being ran by the given owner * * @param owner */ public void stopEvents(Object owner) { for (CycleEventContainer c : events) { if (c.getOwner() == owner) { c.stop(); } } }
/** Execute and remove events */ public void process() { List<CycleEventContainer> eventsCopy = new ArrayList<CycleEventContainer>(events); List<CycleEventContainer> remove = new ArrayList<CycleEventContainer>(); for (CycleEventContainer c : eventsCopy) { if (c != null) { if (c.needsExecution()) c.execute(); if (!c.isRunning()) { remove.add(c); } } } for (CycleEventContainer c : remove) { events.remove(c); } }