docs: public static Field getFieldEx(Class<?> clazz, String fieldName) throws NoSuchFieldException
    {
      try {
        Field field = clazz.getDeclaredField(fieldName);
        field.setAccessible(true);
        return field;
      }
      catch(NoSuchFieldException e) {
        Class<?> superclass = clazz.getSuperclass();
        if(superclass != null && clazz.getPackage().equals(superclass.getPackage())) {
          return getFieldEx(superclass, fieldName);
        }
        throw e;
      }
      catch(SecurityException e) {
        throw new BugError(e);
      }
    }