/// <summary>
 /// Points to the first valid item if to null if there is no one
 /// </summary>
 /// <returns></returns>
 public override CGraphEdge Begin()
 {
     m_it         = 0;
     m_iterations = 0;
     if (m_graph.M_NumberOfEdges > 0)
     {
         m_currentItem = m_graph.Edge(m_it);
     }
     else
     {
         m_currentItem = null;
     }
     return(m_currentItem);
 }