docs: private <W> void processWorkUnits(final Collection<W> workUnits, final LogNode log,
              final WorkUnitProcessor<W> workUnitProcessor) throws InterruptedException, ExecutionException {
          WorkQueue.runWorkQueue(workUnits, executorService, interruptionChecker, numParallelTasks, log,
                  workUnitProcessor);
          if (log != null) {
              log.addElapsedTime();
          }
          // Throw InterruptedException if any of the workers failed
          interruptionChecker.check();
      }