protected final void refreshWatchingList() {
    Set<String> newPaths = getPathsToWatch();
    LOG.debug("New ZNodes to watch: {}", newPaths);
    Iterator<Map.Entry<String, ZKData>> iter = queues.entrySet().iterator();
    // stop unused syncers
    while (iter.hasNext()) {
      Map.Entry<String, ZKData> entry = iter.next();
      if (!newPaths.contains(entry.getKey())) {
        iter.remove();
        entry.getValue().delete();
      }
    }
    // start new syncers
    for (String newPath : newPaths) {
      if (!queues.containsKey(newPath)) {
        startNewSyncThread(newPath);
      }
    }
  }
Returns the zk path(s) to watch
hbase-server/src/main/java/org/apache/hadoop/hbase/master/zksyncer/ClientZKSyncer.java