code: public void handleUIEvent(String callbackKey, JSObject result) {
          if (handlers.containsKey(callbackKey) && handlers.get(callbackKey) instanceof UIEventHandler) {
              ((UIEventHandler) handlers.get(callbackKey)).handle(result);
          } else if (handlers.containsKey(callbackKey) && handlers.get(callbackKey) instanceof MouseEventHandler) {
              ((MouseEventHandler) handlers.get(callbackKey)).handle(buildMouseEvent(result));
          } else {
              System.err.println("Error in handle: " + callbackKey + " for result: " + result);
          }
      }
docs: This method is called from Javascript, passing in the previously created
  callback key, and the event object. The current implementation is
  receiving the LatLng object that the Javascript MouseEvent contains.
  <p>
  It may be more useful to return the MouseEvent and let clients go from
  there, but there is only the stop() method on the MouseEvent?
  
  @param callbackKey Key generated by the call to registerHandler.
  @param result Currently the event object from the Google Maps event.