public IVertex ParentVertex(IVertex v)
 {
     if (v == null)
     {
         throw new ArgumentNullException("v");
     }
     if (this.Wrapped.InDegree(v) > 1)
     {
         throw new MultipleInEdgeException(v.get_ID().ToString());
     }
     return Traversal.FirstSourceVertex(this.Wrapped.InEdges(v));
 }
 private int FetchIndex(IVertex v)
 {
     for (int i = 0; i < base.List.Count; i++)
     {
         IList list = (IList) base.List[i];
         if ((list.Count > 0) && (((IVertex) list[0]).get_ID() == v.get_ID()))
         {
             return i;
         }
     }
     return -1;
 }