public static Constructor<?> findConstructorBestMatch(Class<?> clazz, Class<?>[] parameterTypes, Object[] args) {
        Class<?>[] argsClasses = null;
        for (int i = 0; i < parameterTypes.length; i++) {
            if (parameterTypes[i] != null)
                continue;
            if (argsClasses == null)
                argsClasses = getParameterTypes(args);
            parameterTypes[i] = argsClasses[i];
        }
        return findConstructorBestMatch(clazz, parameterTypes);
    }
Look up a constructor in a class and set it to accessible.

<p>See {@link #findMethodBestMatch(Class, String, Class...)} for details. This variant
determines the parameter types from the classes of the given objects. For any item that is
{@code null}, the type is taken from {@code parameterTypes} instead.
android/android_framework/base/src/main/java/util/XposedHelpers.java