public static byte[] getDataAndWatch(ZKWatcher zkw, String znode, boolean throwOnInterrupt)
    throws KeeperException {
    return getDataInternal(zkw, znode, null, true, throwOnInterrupt);
  }
Get the data at the specified znode and set a watch. Returns the data and sets a watch if the
node exists. Returns null and no watch is set if the node does not exist or there is an
exception.
@param zkw              zk reference
@param znode            path of node
@param throwOnInterrupt if false then just interrupt the thread, do not throw exception
@return data of the specified znode, or null
@throws KeeperException if unexpected zookeeper exception
hbase-zookeeper/src/main/java/org/apache/hadoop/hbase/zookeeper/ZKUtil.java