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 ( ) ; }
Process work units .