docs: protected Field getField( Class<?> targetClass,
                                String propertyName ) throws NoSuchFieldException {
          Field field = null;
  
          try {
              field = targetClass.getDeclaredField(Inflector.getInstance().lowerCamelCase(propertyName));
          } catch (NoSuchFieldException e) {
              Class<?> clazz = targetClass.getSuperclass();
              if (clazz != null) {
                  field = getField(clazz, propertyName);
              } else {
                  throw e;
              }
          }
  
          return field;
      }