getAccessibleField(clazz.getSuperclass(), protectedField);
field = getAccessibleField(clazz.getSuperclass(), protectedField);
    private static Field getAccessibleField(Class clazz, String protectedField) {        Field field = null;        try {            field = clazz.getDeclaredField(protectedField);        } catch (NoSuchFieldException nsf) {}        if (field == null) {            // Unable to locate, so try the superclass (if there is one)            if (clazz.getSuperclass() != null) {                getAccessibleField(clazz.getSuperclass(), protectedField);            } else {                throw new IllegalArgumentException("Couldn't find '" + protectedField + "' field");            }        }        // We have a field, so process        field.setAccessible(true);        return field;    }