RulesVisitor, TraversalContext
void
enter(Node node, List<Node> path)
leave(Node node, List<Node> path)