Map.Entry registryEntry = (Map.Entry) i.next();
Map handbacks = (Map) registryEntry.getValue();
if (handbacks != null)
{
KernelEventFilter filter = null;
Object filterObject = registryEntry.getKey();
if (filterObject != NULL_FILTER)
filter = (KernelEventFilter) filterObject;
for (Iterator j = handbacks.entrySet().iterator(); j.hasNext();)
{
Map.Entry handbackEntry = (Map.Entry) j.next();
List listeners = (List) handbackEntry.getValue();
if (listeners != null)
{
Object handback = handbackEntry.getKey();
if (handback == NULL)
handback = null;
for (ListIterator k = listeners.listIterator(); k.hasNext();)
{
KernelEventListener listener = (KernelEventListener) k.next();
try
{
if (filter == null || filter.wantEvent(event, handback))
fireKernelEvent(listener, event, handback);
}
catch (Throwable t)
{
log.debug("Ignored unhandled throwable: ", t);