code: private boolean visitInPostOrder(StateVisitor v, int node, BitSet visited) {
      if (visited.get(node))
        return true;
      visited.set(node);
  
      for (int arc = getFirstArc(node); arc != 0; arc = getNextArc(arc)) {
        if (!isArcTerminal(arc)) {
          if (!visitInPostOrder(v, getEndNode(arc), visited))
            return false;
        }
      }
  
      return v.accept(node);
    }
docs: Private recursion.