}
public synchronized void start(final StartContext context) throws StartException {
final TimeSpec keepAliveSpec = keepAlive;
long keepAlive = keepAliveSpec == null ? Long.MAX_VALUE : keepAliveSpec.getUnit().toMillis(keepAliveSpec.getDuration());
final QueuelessExecutor queuelessExecutor = new QueuelessExecutor(threadFactoryValue.getValue(), JBossExecutors.directExecutor(), handoffExecutorValue.getOptionalValue(), keepAlive);
queuelessExecutor.setMaxThreads(maxThreads);
queuelessExecutor.setBlocking(blocking);
executor = new ManagedQueuelessExecutorService(queuelessExecutor);
}