@Override
  public synchronized void nodeCreated(String path) {
    if (!path.equals(node)) {
      return;
    }

    try {
      byte[] data = ZKUtil.getDataAndWatch(watcher, node);
      if (data != null) {
        this.data = data;
        notifyAll();
      } else {
        nodeDeleted(path);
      }
    } catch (KeeperException e) {
      abortable.abort("Unexpected exception handling nodeCreated event", e);
    }
  }
Gets the data of the node.
<p>
If the node is currently available, the most up-to-date known version of the data is returned.
If the node is not currently available, null is returned.
@param refresh whether to refresh the data by calling ZK directly.
@return data of the node, null if unavailable
hbase-zookeeper/src/main/java/org/apache/hadoop/hbase/zookeeper/ZKNodeTracker.java