code: public void executeAfterMethods(final Object obj) {
  
          // Invoke element only if not parameterized
          if (this.element.getDataProvider() == null) {
              int runs = RUNS.get(element);
              runs--;
              RUNS.put(element, runs);
  
              // invoking once the beforeFirstRun-method
              if (RUNS.get(element) == 0) {
                  Method[] afterLast = null;
                  try {
                      afterLast = element.findAfterLastRun();
                      if (afterLast.length != 0) {
                          checkAndExecuteBeforeAfters(obj, AfterLastRun.class, afterLast);
                      }
                  } catch (final PerfidixMethodCheckException e) {
                      BENCHRES.addException(e);
                  }
              }
  
              // invoking the beforeEachRun-method
              Method[] afterEach = null;
              try {
                  afterEach = element.findAfterEachRun();
              } catch (final PerfidixMethodCheckException e) {
                  BENCHRES.addException(e);
              }
              if (afterEach != null) {
                  checkAndExecuteBeforeAfters(obj, AfterEachRun.class, afterEach);
              }
          }
      }
docs: Executing the {@link AfterLastRun}-annotated methods (if still wasn't) and the {@link AfterEachRun} methods.
  
  @param obj the object of the class where the bench runs currently in.