code: public static void doWithLocalFields(Class<?> clazz, FieldCallback fc) {
  		for (Field field : getDeclaredFields(clazz)) {
  			try {
  				fc.doWith(field);
  			}
  			catch (IllegalAccessException ex) {
  				throw new IllegalStateException("Not allowed to access field '" + field.getName() + "': " + ex);
  			}
  		}
  	}
docs: Invoke the given callback on all fields in the target class, going up the
  class hierarchy to get all declared fields.
  @param clazz the target class to analyze
  @param fc the callback to invoke for each field
  @since 4.2
  @see #doWithFields