this.listener = listener;
this.executor = executor;
hasLeadership = false;
executorService = Executors.newFixedThreadPool(1, threadFactory);
mutex = new InterProcessMutex(client, leaderPath)
{
@Override
protected byte[] getLockNodeBytes()
{
return (id.length() > 0) ? getIdBytes(id) : null;