code: public void f(int i, Object... args) {
      setIndex(i);
      setArguments(args);
      if (args.length == 1 && args[0] instanceof JavaScriptObject) {
        if (JsUtils.isElement((JavaScriptObject) args[0])) {
          setElement((com.google.gwt.dom.client.Element) args[0]);
          f(getElement(), i);
        } else if (JsUtils.isEvent((JavaScriptObject) args[0])) {
          setEvent((Event) args[0]);
          f(getEvent());
        } else {
          f();
        }
      }
    }
docs: Override this method for bound callbacks.