public static Object callStaticMethod(Class<?> clazz, String methodName, Object... args) {
        try {
            return findMethodBestMatch(clazz, methodName, args).invoke(null, args);
        } catch (IllegalAccessException e) {
            // should not happen
            XposedBridge.log(e);
            throw new IllegalAccessError(e.getMessage());
        } catch (IllegalArgumentException e) {
            throw e;
        } catch (InvocationTargetException e) {
            throw new InvocationTargetError(e.getCause());
        }
    }
Calls a static method of the given class.
The method is resolved using {@link #findMethodBestMatch(Class, String, Object...)}.

@param clazz      The class reference.
@param methodName The method name.
@param args       The arguments for the method call.
@throws NoSuchMethodError     In case no suitable method was found.
@throws InvocationTargetError In case an exception was thrown by the invoked method.
android/android_framework/base/src/main/java/util/XposedHelpers.java