code: public void join() throws InterruptedException {
      serverThread.join();
      long start = System.currentTimeMillis();
      cmNotifier.join(SESSION_DRIVER_WAIT_INTERVAL);
      long end = System.currentTimeMillis();
      if (end - start >= SESSION_DRIVER_WAIT_INTERVAL) {
        LOG.warn("Taking more than " + SESSION_DRIVER_WAIT_INTERVAL +
          " for cmNotifier to die");
      }
      incomingCallExecutor.join();
    }
docs: Join the underlying threads of SessionDriver
  @throws InterruptedException