docs: @Override
      public void visit(NodeVisitor v) {
          if (v.visit(this)) {
              if (expression != null) {
                  expression.visit(v);
              }
              if (statements != null) {
                  for (AstNode s : statements) {
                      s.visit(v);
                  }
              }
          }
      }