code: public static Object invokeMethod(Method method, Object target, Object... args) {
          try {
              return method.invoke(target, args);
          } catch (Exception ex) {
              handleReflectionException(ex);
          }
          throw new IllegalStateException("Should never get here");
      }
docs: Invoke the specified {@link Method} against the supplied target object with the supplied arguments. The target object can
  be {@code null} when invoking a static {@link Method}.
  <p>
  Thrown exceptions are handled via a call to {@link #handleReflectionException}.
  
  @param method the method to invoke
  @param target the target object to invoke the method on
  @param args the invocation arguments (may be {@code null})
  @return the invocation result, if any