docs: void watchPartition(int pid, ExecutorService es, boolean shouldBlock)
          throws InterruptedException, ExecutionException
      {
          String dir = LeaderElector.electionDirForPartition(VoltZK.leaders_initiators, pid);
          m_callbacks.put(pid, new PartitionCallback(pid));
          BabySitter babySitter;
  
          if (shouldBlock) {
              babySitter = BabySitter.blockingFactory(m_zk, dir, m_callbacks.get(pid), es).getFirst();
          } else {
              babySitter = BabySitter.nonblockingFactory(m_zk, dir, m_callbacks.get(pid), es);
          }
  
          m_partitionWatchers.put(pid, babySitter);
      }