void (HeapNode<Node> node) { while (true) { HeapNode<Node> min = node; for (int i = 0; i < 2; i++) { HeapNode<Node> child = node.myChildren[i]; if (child != null && child.myEdge.getDelta() < min.myEdge.getDelta()) { min = child; } } if (min != node) { GraphEdge<Node> t = min.myEdge; min.myEdge = node.myEdge; node.myEdge = t; node = min; } else { break; } } }