synchronized (m_workers) {
m_workers[workerIndex] = worker;
}
try {
m_executor.execute(new InterruptibleRunnableAdapter(new WaitForWorkerTask(workerIndex)));
} catch (RejectedExecutionException e) {
m_logger.error("Failed to wait for " + worker.getIdentity().getName(), e);
worker.destroy();
return false;
}