protected boolean dispatchEvent (DEvent event, DObject target)
    {
        boolean notify = true; // assume always notify
        try {
            // do any internal management necessary based on this event
            EventHelper helper = _helpers.get(event.getClass());
            if (helper != null) {
                // if helper returns false, we abort event processing
                if (!helper.invoke(event, target)) {
                    return false;
                }
            }

            // everything's good so far, apply the event to the object
            notify = event.applyToObject(target);

            // if the event returns false from applyToObject, this means it's a silent event and we
            // shouldn't notify the listeners
            if (notify) {
                target.notifyListeners(event);
            }

        } catch (VirtualMachineError e) {
            handleFatalError(event, e);

        } catch (Throwable t) {
            log.warning("Failure processing event", "event", event, "target", target, t);
        }

        // track the number of events dispatched
        ++_eventCount;
        ++_current.eventCount;
        return true;
    }
protected boolean dispatchEvent ( DEvent event , DObject target ) { boolean notify = true ; try { EventHelper helper = _helpers . get ( event . getClass ( ) ) ; if ( helper != null ) { if ( ! helper . invoke ( event , target ) ) { return false ; } } notify = event . applyToObject ( target ) ; if ( notify ) { target . notifyListeners ( event ) ; } } catch ( VirtualMachineError e ) { handleFatalError ( event , e ) ; } catch ( Throwable t ) { log . warning ( "Failure processing event" , "event" , event , "target" , target , t ) ; } ++ _eventCount ; ++ _current . eventCount ; return true ; }
Dispatches an event after the target object has been resolved and the permissions have been
checked. This is used by {@link #processEvent} and {@link #processCompoundEvent}.

@return the value returned by {@link DEvent#applyToObject}.