/** * Fires the specified event. * * @param event * Event to fire */ protected final void fireEvent(final ISpellEvent event) { // synchronizing is necessary as this is called from execute Set copy; synchronized (fListeners) { copy= new HashSet(fListeners); } for (final Iterator iterator= copy.iterator(); iterator.hasNext();) { ((ISpellEventListener)iterator.next()).handle(event); } }