public DirectedEdge(TEdgeId edge, bool isReverse)
 {
     this.Edge      = edge;
     this.IsReverse = isReverse;
 }
 public VertexWithDistanceAndEdge(TVertexId vertex, TDistance distance, TEdgeId edge)
 {
     this.Vertex   = vertex;
     this.Distance = distance;
     this.Edge     = edge;
 }