code: public Fields annotatedWithAll(final Class<? extends Annotation>... annotations) {
  		
  		assertNotNull(annotations, Class[].class);
  		
  		return new Fields(filter(new Criterion() {
  
  			@Override
  			public boolean evaluate(Field field) {
  				
  				boolean hasAllAnnotations = true;
  				
  				for (Class<? extends Annotation> annotation : annotations) {
  				
  					if(!field.isAnnotationPresent(annotation)) {
  						
  						hasAllAnnotations = false;
  						break;
  					}
  				}
  				
  				return hasAllAnnotations;
  			}
  		}));
  	}
docs: <p>Filters the {@link Field}s which are annotated with <b>all</b> the given annotations and returns
  a new instance of {@link Fields} that wrap the filtered collection.</p>
  
  @param annotation
  the {@link Field}s annotated with <b>all</b> these types 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