SecurityManager sm = System.getSecurityManager();
Permission perm = (sm == null) ? null : new TopicPermission(
eventTopic, TopicPermission.SUBSCRIBE);
CopyOnWriteIdentityMap listeners = new CopyOnWriteIdentityMap();
Iterator iter = eventHandlerWrappers.iterator();
while (iter.hasNext()) {
EventHandlerWrapper wrapper = (EventHandlerWrapper) iter.next();
listeners.put(wrapper, perm);
}
ListenerQueue listenerQueue = new ListenerQueue(currentManager);
listenerQueue.queueListeners(listeners.entrySet(),
eventHandlerTracker);
if (isAsync) {
listenerQueue.dispatchEventAsynchronous(0, event);
} else {
listenerQueue.dispatchEventSynchronous(0, event);