code: public void start() throws Exception
      {
          Preconditions.checkState(state.compareAndSet(State.LATENT, State.STARTED), "Cannot be started more than once");
  
          client.getConnectionStateListenable().addListener(connectionStateListener);
          try
          {
              client.create().creatingParentContainersIfNeeded().forPath(path, seedValue);
          }
          catch ( KeeperException.NodeExistsException ignore )
          {
              // ignore
          }
  
          readValue();
      }
docs: The shared value must be started before it can be used. Call {@link #close()} when you are
  finished with the shared value
  
  @throws Exception ZK errors, interruptions, etc.