docs: public synchronized void dumpWatches(PrintWriter pwriter, boolean byPath) {
          if (byPath) {
              for (Entry<String, HashSet<Watcher>> e : watchTable.entrySet()) {
                  pwriter.println(e.getKey());
                  for (Watcher w : e.getValue()) {
                      pwriter.print("\t0x");
                      pwriter.print(Long.toHexString(((ServerCnxn)w).getSessionId()));
                      pwriter.print("\n");
                  }
              }
          } else {
              for (Entry<Watcher, HashSet<String>> e : watch2Paths.entrySet()) {
                  pwriter.print("0x");
                  pwriter.println(Long.toHexString(((ServerCnxn)e.getKey()).getSessionId()));
                  for (String path : e.getValue()) {
                      pwriter.print("\t");
                      pwriter.println(path);
                  }
              }
          }
      }