docs: public void await() throws InterruptedException, EOFException
      {
          synchronized(this)
          {
              while ( (state.get() == State.STARTED) && !hasLeadership.get() )
              {
                  wait();
              }
          }
          if ( state.get() != State.STARTED )
          {
              throw new EOFException();
          }
      }