}
}
protected void upperPropagate(Node node) {
// propagate to parent node.
Node parentNode = (Node) node.getParentNode();
if (parentNode != null) {
PropagationRule parentRule = parentNode.getPropagationRule();
parentRule.summaryUpperPropagate(parentNode);
}
// propagate to upper nodes.
List upperNodes = node.getUpperNodes();
int size = upperNodes.size();
for (int index = 0; index < size; index++) {
Node upperNode = (Node) upperNodes.get(index);
PropagationRule upperRule = upperNode.getPropagationRule();
upperRule.summaryUpperPropagate(upperNode);
}
}