docs: public static Object invokeStaticMethod(Class<?> pClass, String pMethod, Object... pParams)
              throws InvocationTargetException {
  
          Object value = null;
  
          try {
              // Create param and argument arrays
              Class[] paramTypes = new Class[pParams.length];
              for (int i = 0; i < pParams.length; i++) {
                  paramTypes[i] = pParams[i].getClass();
              }
  
              // Get method
              // *** If more than one such method is found in the class, and one
              // of these methods has a RETURN TYPE that is more specific than
              // any of the others, that method is reflected; otherwise one of
              // the methods is chosen ARBITRARILY.
              // java/lang/Class.html#getMethod(java.lang.String, java.lang.Class[])
              Method method = pClass.getMethod(pMethod, paramTypes);
  
              // Invoke public static method
              if (Modifier.isPublic(method.getModifiers()) && Modifier.isStatic(method.getModifiers())) {
                  value = method.invoke(null, pParams);
              }
  
          }
          /* All this to let InvocationTargetException pass on */
          catch (NoSuchMethodException nsme) {
              return null;
          }
          catch (IllegalAccessException iae) {
              return null;
          }
          catch (IllegalArgumentException iarge) {
              return null;
          }
  
          return value;
      }