code: private Map<Class<?>, Object> instantiateObjects(final BenchmarkResult res) {
  		// datastructure initialization for all objects
  		final Map<Class<?>, Object> objectsToUse = new Hashtable<Class<?>, Object>();
  
  		// generating including already instaniated objects
  		for (final Object obj : this.objects) {
  			final Class<?> clazz = obj.getClass();
  			objectsToUse.put(clazz, obj);
  		}
  
  		// generating objects for each registered class
  		for (final Class<?> clazz : clazzes) {
  			// generating a new instance on which the benchmark will be
  			// performed if there isn't a user generated one
  			if (!objectsToUse.containsKey(clazz)) {
  				try {
  					final Object obj = clazz.newInstance();
  					objectsToUse.put(clazz, obj);
  					// otherwise adding an exception to the result
  				} catch (final InstantiationException | IllegalAccessException e) {
  					res.addException(new PerfidixMethodInvocationException(e,
  							BeforeBenchClass.class));
  				}
  			}
  		}
  
  		return objectsToUse;
  	}
docs: Setting up executable objects for all registered classes and executing
  {@link BeforeBenchClass} annotated methods. If an {@link Exception}
  occurs, this failure will be stored in the {@link BenchmarkResult} and
  the class will not be instantiated
  
  @param res
  {@link BenchmarkResult} for storing possible failures.
  @return a mapping with class->objects for all registered classes-