@Override
    public void visit(NodeVisitor v) {
        if (v.visit(this)) {
            target.visit(v);
            for (AstNode arg : getArguments()) {
                arg.visit(v);
            }
            if (initializer != null) {
                initializer.visit(v);
            }
        }
    }
@ Override public void visit ( NodeVisitor v ) { if ( v . visit ( this ) ) { target . visit ( v ) ; for ( AstNode arg : getArguments ( ) ) { arg . visit ( v ) ; } if ( initializer != null ) { initializer . visit ( v ) ; } } }
Visits this node, the target, and each argument.  If there is
a trailing initializer node, visits that last.