code: public void merge() {
          Thread currentThread = Thread.currentThread();
          if(!stats.get(currentThread).equals(this) || currentThread instanceof WindupChildThread) {
              throw new IllegalArgumentException("Trying to merge executionstatistics from a "
                          + "different thread that is not registered as main thread of application run");
          }
  
          for (Thread thread : stats.keySet())
          {
              if(thread instanceof WindupChildThread && ((WindupChildThread) thread).getParentThread().equals(currentThread)) {
                  merge(stats.get(thread));
              }
          }
      }
docs: Merge this ExecutionStatistics with all the statistics created within the child threads. All the child threads had to be created using Windup-specific
  ThreadFactory in order to contain a reference to the parent thread.