public void Debug()
        {
            DepthFirstSearchQueryInfo info = new DepthFirstSearchQueryInfo(m_graph, this);
            CIt_GraphNodes            it   = new CIt_GraphNodes(m_graph);

            for (it.Begin(); !it.End(); it.Next())
            {
                Console.WriteLine("Node {0}: arrival ({1}) - departure ({2})",
                                  it.M_CurrentItem.M_Label, info.Arrival(it.M_CurrentItem), info.Departure(it.M_CurrentItem));
            }
        }
 public DepthFirstSearch(CGraph mGraph)
 {
     m_graph = mGraph;
     m_outputDepthFirstSearch = new DepthFirstSearchQueryInfo(mGraph, this);
 }