public void TreeEdge(object sender, EdgeEventArgs args)
 {
     if (args.get_Edge() is ReversedEdge)
     {
         this.Successors.set_Item(args.get_Edge().get_Source(), ((ReversedEdge) args.get_Edge()).get_Wrapped());
     }
     else
     {
         this.Successors.set_Item(args.get_Edge().get_Source(), args.get_Edge());
     }
 }
 private void reverser_ReversedEdgeAdded(object sender, EdgeEventArgs e)
 {
     this.capacities.set_Item(e.get_Edge(), 0.0);
 }
 public void TreeEdge(object sender, EdgeEventArgs args)
 {
     this.Predecessors.set_Item(args.get_Edge().get_Target(), args.get_Edge());
 }
 public void RecordTarget(object sender, EdgeEventArgs args)
 {
     this.vertices.Add(args.get_Edge().get_Target());
 }
 public void TreeEdge(object sender, EdgeEventArgs e)
 {
     this.graph.AddVertex(e.get_Edge().get_Target());
     this.graph.AddEdge(e.get_Edge());
 }
 public void BackForwardOrCrossEdge(object sender, EdgeEventArgs e)
 {
     this.graph.AddEdge(e.get_Edge());
 }
 public void FinishEdge(object sender, EdgeEventArgs args)
 {
     if (!this.EdgePredecessors.ContainsValue(args.get_Edge()))
     {
         this.EndPathEdges.Add(args.get_Edge());
     }
 }
 public void TreeEdge(object sender, EdgeEventArgs e)
 {
     this.weights.set_Item(e.get_Edge(), this.weights.get_Item(e.get_Edge()) * this.factor);
 }
 private void TreeEdge(object sender, EdgeEventArgs args)
 {
     if (this.Relax(args.get_Edge()))
     {
         this.OnEdgeRelaxed(args.get_Edge());
     }
     else
     {
         this.OnEdgeNotRelaxed(args.get_Edge());
     }
 }
 private void GrayTarget(object sender, EdgeEventArgs args)
 {
     if (this.Relax(args.get_Edge()))
     {
         this.vertexQueue.Update(args.get_Edge().get_Target());
         this.OnEdgeRelaxed(args.get_Edge());
     }
     else
     {
         this.OnEdgeNotRelaxed(args.get_Edge());
     }
 }
 public void RecordEdge(object sender, EdgeEventArgs args)
 {
     this.Edges.Add(args.get_Edge());
 }