docs: public static Graph sortDFS(Graph g, Graph sortedGraph) {
          int nodes = g.getNodes();
          final GHIntArrayList list = new GHIntArrayList(nodes);
          list.fill(nodes, -1);
          final GHBitSetImpl bitset = new GHBitSetImpl(nodes);
          final AtomicInteger ref = new AtomicInteger(-1);
          EdgeExplorer explorer = g.createEdgeExplorer();
          for (int startNode = 0; startNode >= 0 && startNode < nodes;
               startNode = bitset.nextClear(startNode + 1)) {
              new DepthFirstSearch() {
                  @Override
                  protected GHBitSet createBitSet() {
                      return bitset;
                  }
  
                  @Override
                  protected boolean goFurther(int nodeId) {
                      list.set(nodeId, ref.incrementAndGet());
                      return super.goFurther(nodeId);
                  }
              }.start(explorer, startNode);
          }
          return createSortedGraph(g, sortedGraph, list);
      }