private void addWorkerIfNecessary(){
  if (idleWorkers.get() == 0) {
synchronized (workers) {
      if (workers.isEmpty() || (idleWorkers.get() == 0)) {
        addWorker();
      }
    }
  }
}

private void addWorkerIfNecessary ( ) { if ( idleWorkers . get ( ) == 0 ) { synchronized ( workers ) { if ( workers . isEmpty ( ) || ( idleWorkers . get ( ) == 0 ) ) { addWorker ( ) ; } } } }
add a new worker only if there are no idle worker .
