code: public static Field getField(Class<?> clazz, String fieldName) {
          final String internedName = fieldName.intern();
          return traverseHierarchy(clazz, new TraverseTask<Field>() {
  
              @Override
              public Field run(Class<?> clazz) {
                  Field[] fields = clazz.getDeclaredFields();
                  for (int i = 0; i < fields.length; i++) {
                      if (fields[i].getName() == internedName) {
                          return fields[i];
                      }
                  }
                  return null;
              }
          });
      }
docs: Returns the field object found for the given field name in the given
  class. This method traverses through the super classes of the given class
  and tries to find the field as declared field within these classes. When
  the object class is reached the traversing stops. If the field can not be
  found, null is returned.
  
  @param clazz     The class within to look for the field with the given field
  name
  @param fieldName The name of the field to be returned
  @return The field object with the given field name if the field can be
  found, otherwise null