@Override
 public boolean stop(final long timeout, final TimeUnit timeUnit) {
   setStopping();
   super.stop(timeout, timeUnit, false);
   running = false;
   setStopped();
   return true;
 }