Dispatches execution to visitor based on concrete node type.
visitor
@override void accept(Visitor visitor) => visitor.visitBlockNode(this);