code: public static Field[] getFields(Class<?> c) {
  		Field[] allFields = c.getDeclaredFields();
  		Field[] fields = new Field[allFields.length];
  		int n = 0;
  		for(Field f : allFields) {
  			f.setAccessible(true);
  			IgnoreField anno = f.getAnnotation(IgnoreField.class);
  			if(anno == null) {
  				fields[n] = f;
  				n++;
  			}
  		}
  		return Arrays.copyOf(fields, n);
  	}
docs: Gets all fields for a particular class, filtering fields annotated
  with {@link IgnoreField @IgnoreField}.
  
  As a side effect, calls {@link Field#setAccessible(boolean) setAccessible(true)}
  on all fields.
  @param c
  @return