public void fireEvent(Event event) { if (event == null) throw new IllegalArgumentException("event == null"); Set<Listener> set = listeners.get(event.getId()); if (set != null) { for (Listener l : set.toArray(new Listener[set.size()])) { l.eventOccured(event); } } }