private static Field findFieldRecursiveImpl(Class<?> clazz, String fieldName) throws NoSuchFieldException {
        try {
            return clazz.getDeclaredField(fieldName);
        } catch (NoSuchFieldException e) {
            while (true) {
                clazz = clazz.getSuperclass();
                if (clazz == null || clazz.equals(Object.class))
                    break;

                try {
                    return clazz.getDeclaredField(fieldName);
                } catch (NoSuchFieldException ignored) {
                }
            }
            throw e;
        }
    }
Look up and return a field if it exists.
Like {@link #findField}, but doesn't throw an exception if the field doesn't exist.

@param clazz     The class which either declares or inherits the field.
@param fieldName The field name.
@return A reference to the field, or {@code null} if it doesn't exist.
android/android_framework/base/src/main/java/util/XposedHelpers.java