code: public static void doWithFields(Class<?> clazz, FieldCallback fc) throws IllegalArgumentException {
  		doWithFields(clazz, fc, null);
  	}
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