docs: public void visit(Visitor visitor) {
          for (Map.Entry<String, NodeT> item : nodeTable.entrySet()) {
              if (!visited.contains(item.getKey())) {
                  this.dfs(visitor, item.getValue());
              }
          }
          visited.clear();
          time = 0;
          entryTime.clear();
          exitTime.clear();
          parent.clear();
          processed.clear();
      }