@Override
  public void run() {
    try {
      // Start the event queue. Until it is started it won't accept new events from peers
      incomingQueue.start();

      while (!shutdown) {
        nextEvent().ifPresent(eventMultiplexer::handleBftEvent);
      }

      incomingQueue.stop();
    } catch (final Throwable t) {
      LOG.error("BFT Mining thread has suffered a fatal error, mining has been halted", t);
    }
    // Clean up the executor service the round timer has been utilising
    LOG.info("Shutting down BFT event processor");
    shutdownLatch.countDown();
  }
Await stop.

@throws InterruptedException the interrupted exception
consensus/common/src/main/java/org/hyperledger/besu/consensus/common/bft/BftProcessor.java