code: public void handle(Object event) throws EventException {
  		try {
  			this.handler.invoke(listener, event);
  		} catch (IllegalAccessException e) {
  			throw new Error("Access level changed, method " + handler + " is no longer accessible!", e);
  		} catch (IllegalArgumentException e) {
  			throw new Error("Method " + handler + " rejected event " + event, e);
  		} catch (InvocationTargetException e) {
  			if (e.getCause() instanceof Error) throw (Error) e.getCause();
  			throw new EventException(this, event, e);
  		}
  	}
docs: Handles the event, calling the handler method in the listener object.
  
  @param event The event to handle.
  @throws EventException Thrown if the handling threw a Throwable, other than an {@link Error}.
  @throws Error          If the method is no longer accessible, or if the arguments don't match, or if the handling method threw it.