private static final void checkQueueForDependenciesAndExecuteUnblockedTasks(){
  List<ProgressThread> toRemove=new LinkedList<>();
synchronized (LOCK) {
    for (    ProgressThread pg : queuedThreads) {
      if (!pg.isBlockedByDependencies()) {
        if (!pg.isWaiting()) {
          toRemove.add(pg);
          EXECUTOR.execute(pg.makeWrapper());
        }
      }
    }
  }
  for (  ProgressThread pg : toRemove) {
synchronized (LOCK) {
      queuedThreads.remove(pg);
    }
  }
}

private static final void checkQueueForDependenciesAndExecuteUnblockedTasks ( ) { List < ProgressThread > toRemove = new LinkedList < > ( ) ; synchronized ( LOCK ) { for ( ProgressThread pg : queuedThreads ) { if ( ! pg . isBlockedByDependencies ( ) ) { if ( ! pg . isWaiting ( ) ) { toRemove . add ( pg ) ; EXECUTOR . execute ( pg . makeWrapper ( ) ) ; } } } } for ( ProgressThread pg : toRemove ) { synchronized ( LOCK ) { queuedThreads . remove ( pg ) ; } } }
checks the currently queued tasks if there are ones which are no longer blocked by dependencies and executes them .
