code: public static Object invokeStaticMethod(Class<?> objectClass, String methodName, Object arg)
              throws NoSuchMethodException, IllegalAccessException, InvocationTargetException {
          Object[] args = { arg };
          return invokeStaticMethod(objectClass, methodName, args);
      }
docs: <p>Invoke a named static method whose parameter type matches the object type.</p>
  
  <p>The behaviour of this method is less deterministic
  than {@link #invokeExactMethod(Object, String, Object[], Class[])}.
  It loops through all methods with names that match
  and then executes the first it finds with compatible parameters.</p>
  
  <p>This method supports calls to methods taking primitive parameters
  via passing in wrapping classes. So, for example, a {@code Boolean} class
  would match a {@code boolean} primitive.</p>
  
  <p> This is a convenient wrapper for
  {@link #invokeStaticMethod(Class objectClass,String methodName,Object[] args)}.
  </p>
  
  @param objectClass invoke static method on this class
  @param methodName get method with this name
  @param arg use this argument
  @return the value returned by the invoked method
  @throws NoSuchMethodException if there is no such accessible method
  @throws InvocationTargetException wraps an exception thrown by the method invoked
  @throws IllegalAccessException if the requested method is not accessible via reflection