Reflection Java

//package org.nestframework.utils;
import java.beans.BeanInfo;
import java.beans.IntrospectionException;
import java.beans.Introspector;
import java.beans.PropertyDescriptor;
import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.io.Reader;
import java.lang.annotation.Annotation;
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Properties;
/**
 * Nest utility class.
 * 
 * @author audin
 *
 */
public class NestUtil {
  /**
   * Get all fields of a class.
   * 
   * @param clazz The class.
   * @return All fields of a class.
   */
  public static Collection getFields(Class clazz) {
//    if (log.isDebugEnabled()) {
  //    log.debug("getFields(Class) - start");
    //}
    Map fields = new HashMap();
    while (clazz != null) {
      for (Field field : clazz.getDeclaredFields()) {
        if (!fields.containsKey(field.getName())) {
          fields.put(field.getName(), field);
        }
      }
      clazz = clazz.getSuperclass();
    }
    Collection returnCollection = fields.values();
  //  if (log.isDebugEnabled()) {
    //  log.debug("getFields(Class) - end");
  //  }
    return returnCollection;
  }
}