public ZooKeeperResult <Stat> Exists(string path, IWatcher watcher = null)
 {
     LogExists(path, watcher);
     return(ExecuteOperation(
                path,
                () =>
     {
         var builder = Curator.checkExists();
         if (watcher != null)
         {
             builder = (ExistsBuilder)builder.usingWatcher(WrapWatcher(watcher));
         }
         var zkStat = (org.apache.zookeeper.data.Stat)builder.forPath(path);
         return zkStat == null
                 ? null
                 : new Stat(zkStat);
     }));
 }