docs: @SuppressWarnings("serial")
  	public Map<String, PullMeasure<?>> createPullsFromGetters(
  			final Object object) {
  		Map<String, PullMeasure<?>> measures = new HashMap<String, PullMeasure<?>>();
  		Class<? extends Object> clazz = object.getClass();
  		for (final Method method : clazz.getMethods()) {
  			if (method.getParameterTypes().length == 0
  					&& !method.getReturnType().equals(Void.TYPE)
  					&& !method.getName().equals("getClass")
  					&& method.getName().matches("get[^a-z].*")) {
  				String key = method.getName().substring(3);
  				// TODO exploit return type to restrict the generics
  				measures.put(key, new SimplePullMeasure<Object>(key) {
  
  					@Override
  					public Object get() {
  						try {
  							return method.invoke(object);
  						} catch (IllegalAccessException
  								| IllegalArgumentException
  								| InvocationTargetException e) {
  							throw new RuntimeException(e);
  						}
  					}
  				});
  			} else {
  				// not a getter, ignore it
  			}
  		}
  		return measures;
  	}