code: public static <T extends Annotation> Set<Field> getAnnotatedPublicFields(Class<? extends Object> clazz,
  			Class<T> annotation) {
  
  		if (Object.class.equals(clazz)) {
  			return Collections.emptySet();
  		}
  
  		Set<Field> annotatedFields = new HashSet<Field>();
  		Field[] fields = clazz.getFields();
  
  		for (Field field : fields) {
  			if (field.getAnnotation(annotation) != null) {
  				annotatedFields.add(field);
  			}
  		}
  
  		return annotatedFields;
  	}
docs: 找出所有标注了该annotation的公共属性，循环遍历父类.
  
  暂未支持Spring风格Annotation继承Annotation
  
  copy from org.unitils.util.AnnotationUtils