}
boolean propagateTheChange(Node currentNode) {
- HashSet<Node> changed = new HashSet<Node>(currentNode.getSuccessors());
+ HashSet<Node> changed = new HashSet<Node>();
boolean isChanged = false;
- for (Node node : currentNode.getSuccessors()) {
- isChanged = false;
- isChanged = updateTheOutSet(currentNode, node);
- if (isChanged)
- changed.add(node);
- }
+ // Add the current node to the changed set
+ changed.add(currentNode);
while(!changed.isEmpty()) {
// Get the first element of the changed set and remove it