title: Build a Curator client with CuratorWatcher
body: <p>I need use Curator client to replace the zk client:</p>
  
  <pre><code>zooKeeper = new ZooKeeper(zkConn, 10000, new Watcher() {
          @Override
          public void process(WatchedEvent event) {
            if (event.getState() == KeeperState.SyncConnected) {
              log("connected.");
              Latch.countDown();
            } else if (event.getState() == KeeperState.Disconnected) {
              log("disconnected.");
            }
          }
        });
  </code></pre>
  
  <p>I cannot find any Curator client constructor with CuratorWatcher. May I ask how to use CuratorWatcherto implement the above code?</p>
  
  <p>Although I have an ieda:</p>
  
  <pre><code>    curator = CuratorFrameworkFactory.newClient(zkConn, retryPolicy);
      curator.start();
      curator.getData().usingWatcher(new CuratorWatcher() {
        @Override
        public void process(WatchedEvent event) throws Exception {
           if (event.getState() == KeeperState.SyncConnected) {
              log("connected.");
              Latch.countDown();
           } else if (event.getState() == KeeperState.Disconnected) {
              log("disconnected.");
           }
    }});
  </code></pre>
  
  <p>I don't know if it is correct, because as far as I know the curator.getData() shold build with <code>.forPath(path)</code> at the end. Should I use curator.getState() in stead, as the curator client is just stated there is certainly no data to get.</p>
  
  <p>Any advice is welcome, thank you so much in advance!</p>