docs: public static Object invokeMethod(final Object obj, final String methodName, final Class<?> argType,
              final Object param, final boolean throwException) throws IllegalArgumentException {
          if (obj == null || methodName == null) {
              if (throwException) {
                  throw new NullPointerException();
              } else {
                  return null;
              }
          }
          return invokeMethod(obj.getClass(), obj, methodName, true, argType, param, throwException);
      }