@Override
public boolean awaitTermination(long timeout, TimeUnit unit)
throws InterruptedException {
timeout = unit.toMillis(timeout);
StopWatch sw = new StopWatch();
while (running.get() > 0) {
if (sw.getTime() >= timeout)
return false;
}
return true;
}