@Override
  public List<Throwable> runTestMethod(Method child) {
    int count = getCount(child);

    ExecutorService executorService = Executors.newCachedThreadPool();
    try {
      ParallelExecutor executor = new DelegatingExecutor(executorService);
      for (int i = 0; i < count; i++) {
        try {
          Object test = child.getDeclaringClass().getDeclaredConstructor().newInstance();
          child.invoke(test, executor);
        } catch (InvocationTargetException ex) {
          Throwable exceptionToReturn = ex.getCause();
          if (exceptionToReturn == null) {
            exceptionToReturn = ex;
          }
          return Collections.singletonList(ex.getCause());
        } catch (Exception e) {
          return Collections.singletonList(e);
        }
      }
    } finally {
      executorService.shutdown();
    }

    return Collections.emptyList();
  }
Simple runner that just runs the test in a loop
geode-concurrency-test/src/main/java/org/apache/geode/test/concurrency/loop/LoopRunner.java