for (Iterator successorNodes = successors.iterator(); successorNodes
.hasNext();) {
Node v = (Node) successorNodes.next();
double predecessorDistance = distance[graph().nodeLabel(u)];
double actualDistance = distance[graph().nodeLabel(v)];
Collection edgeCollection = graph.predecessorEdges(v, u);
Iterator edges = edgeCollection.iterator();
double connectingEdgeCost = -Double.MAX_VALUE;
while (edges.hasNext()) {
Edge edge = (Edge) edges.next();