@Override
	public RuleRefAST dupNode() {
		RuleRefAST r = new RuleRefAST(this);
		// In LR transform, we alter original token stream to make e -> e[n]
		// Since we will be altering the dup, we need dup to have the
		// original token.  We can set this tree (the original) to have
		// a new token.
		r.token = this.token;
		this.token = new CommonToken(r.token);
		return r;
	}
Dup token too since we overwrite during LR rule transform
tool/src/org/antlr/v4/tool/ast/RuleRefAST.java