code: static Field getDeclaredField(Object target, String name) throws NoSuchFieldException {
          Throwable thrown = null;
          for (Class<?> current = target.getClass(); current != null; current = current.getSuperclass()) {
              try {
                  return current.getDeclaredField(name);
              } catch (NoSuchFieldException e) {
                  thrown = e;
              } catch (SecurityException e) {
                  thrown = e;
                  break;
              }
          }
          
          throw UncheckedThrow.throwUnchecked(thrown);
      }
docs: Get the specified field of the supplied object.
  
  @param target target object
  @param name field name
  @return {@link Field} object for the requested field
  @throws NoSuchFieldException if a field with the specified name is not found
  @throws SecurityException if the request is denied