code: public void push(Event event) {
  		boolean vetoed = false;
  		
  		for (Entry<Integer, List<EventQueueEntry>> e : queue.entrySet()) {
  			List<EventQueueEntry> entries = e.getValue();
  			synchronized (entries) {
  				for (EventQueueEntry entry : entries) {
  					if (vetoed && entry.isVetoable()) {
  						log.debug(
  								"Skipping handler (vetoed): {}",
  								entry.getMethod());
  						continue;
  					}
  					
  					try {
  						log.debug("Notifying handler: {}", entry.getMethod());
  						entry.notify(event);
  					} catch (EventVetoException ex) {
  						// skip others on event veto
  						vetoed = true;
  					}
  				}
  			}
  		}
  	}
docs: Notifies entries in the event queue of the given event. Note that events
  may be vetoed by queue entries if their {@code vetoable} property is set
  to {@code true} (the default), which will cause remaining, lower priority
  events to be skipped. Ideally listeners that may veto events should have
  an above-normal priority to ensure consistent behavior.
  @param event the event to dispatch