code: public Future<?> start() throws KeeperException, InterruptedException {
          node = createParticipantNode(zk, dir, prefix, data);
          return es.submit(electionEventHandler);
      }
docs: Start participation in a leader election.
  
  @return {@link Future} which is completed after the leader election has been performed
  @throws KeeperException      If there is an error creating election nodes
  @throws InterruptedException If this thread was interrupted