@Override public boolean equals(Object obj) {
    if (this == obj) {
      return true;
    }

    if (obj == null) {
      return false;
    }

    if (getClass() != obj.getClass()) {
      return false;
    }

    final EventHandler other = (EventHandler) obj;

    return method.equals(other.method) && target == other.target;
  }
Invokes the wrapped handler method to handle {@code event}.

@param event  event to handle
@throws java.lang.IllegalStateException  if previously invalidated.
@throws java.lang.reflect.InvocationTargetException  if the wrapped method throws any {@link Throwable} that is not
    an {@link Error} ({@code Error}s are propagated as-is).
otto/src/main/java/com/squareup/otto/EventHandler.java