public static void doWithFields(Class<?> clazz,FieldCallback fc) throws IllegalArgumentException {
  doWithFields(clazz,fc,null);
}

public static void doWithFields ( Class < ? > clazz , FieldCallback fc ) throws IllegalArgumentException { doWithFields ( clazz , fc , null ) ; }
invoke the given callback on all fields in the target class , going up the class hierarchy to get all declared fields .
