code: public Fields annotatedWith(final Class<? extends Annotation> annotation) {
  		
  		assertNotNull(annotation, Class.class);
  		
  		return new Fields(filter(new Criterion() {
  
  			@Override
  			public boolean evaluate(Field field) {
  				
  				return field.isAnnotationPresent(annotation);
  			}
  		}));
  	}
docs: <p>Filters the {@link Field}s which are annotated with the given annotation and returns a new
  instance of {@link Fields} that wrap the filtered collection.</p>
  
  @param annotation
  the {@link Field}s annotated with this type will be filtered
  <br><br>
  @return a <b>new instance</b> of {@link Fields} which wraps the filtered {@link Field}s
  <br><br>
  @since 1.3.0