code: @SuppressWarnings("serial")
  	public Map<String, PullMeasure<?>> createPullsFromFields(final Object object) {
  		Map<String, PullMeasure<?>> measures = new HashMap<String, PullMeasure<?>>();
  		Class<? extends Object> clazz = object.getClass();
  		for (final Field field : clazz.getFields()) {
  			String key = field.getName();
  			// TODO exploit return type to restrict the generics
  			measures.put(key, new SimplePullMeasure<Object>(key) {
  
  				@Override
  				public Object get() {
  					try {
  						return field.get(object);
  					} catch (IllegalArgumentException | IllegalAccessException e) {
  						throw new RuntimeException();
  					}
  				}
  			});
  		}
  		return measures;
  	}
docs: Create {@link PullMeasure}s based on the fields available from an
  instance, whatever it is. The {@link Class} of the instance is analyzed
  to retrieve its public fields and a {@link PullMeasure} is built for each
  of them. The name of the field is further exploited to identify the
  measure, such that the map returned use the name of the field as a key
  which maps to the {@link PullMeasure} built from this field. The
  {@link PullMeasure} itself is named by using the name of the field.
  
  @param object
  the {@link Object} to cover
  @return the {@link Map} which contains the names of the getter methods
  and the corresponding {@link PullMeasure} built from them