code: private void tearDownObjectsToExecute(final Map<Class<?>, Object> objects,
  			final BenchmarkResult res) {
  
  		// executing tearDown for all clazzes registered in given Map
  		for (final Class<?> clazz : objects.keySet()) {
  			final Object objectToUse = objects.get(clazz);
  			if (objectToUse != null) {
  				// executing AfterClass for all objects.
  				Method afterClassMeth = null;
  				try {
  					afterClassMeth = BenchmarkMethod
  							.findAndCheckAnyMethodByAnnotation(clazz,
  									AfterBenchClass.class);
  				} catch (final PerfidixMethodCheckException e) {
  					res.addException(e);
  				}
  				// if afterClassMethod exists, the method will be executed and
  				// possible failures will be stored in the BenchmarkResult
  				if (afterClassMeth != null) {
  					final PerfidixMethodCheckException afterByCheck = BenchmarkExecutor
  							.checkMethod(objectToUse, AfterBenchClass.class,
  									afterClassMeth);
  					if (afterByCheck == null) {
  						final PerfidixMethodInvocationException afterByInvok = BenchmarkExecutor
  								.invokeMethod(objectToUse,
  										AfterBenchClass.class, afterClassMeth);
  						if (afterByInvok != null) {
  							res.addException(afterByInvok);
  						}
  					} else {
  						res.addException(afterByCheck);
  					}
  				}
  			}
  		}
  	}
docs: Tear down executable objects for all registered classes and executing
  {@link AfterBenchClass} annotated methods.
  
  @param objects
  a mapping with class->objects to be teared down
  @param res
  the {@link BenchmarkResult} for storing possible failures.