code: public Object doMethodInvoke(Object object, Object[] argumentArray) {
          argumentArray = coerceArgumentsToClasses(argumentArray);
          try {
              return invoke(object, argumentArray);
          } catch (Exception e) {
              throw processDoMethodInvokeException(e, object, argumentArray);
          }
      }
docs: Invokes the method this object represents. This method is not final but it should be overloaded very carefully and only by generated methods
  there is no guarantee that it will be called
  
  @param object The object the method is to be called at.
  @param argumentArray Arguments for the method invocation.
  @return The return value of the invoked method.