public virtual IToken Get(int i) { if (i < 0 || i >= _tokens.Count) { throw new IndexOutOfRangeException("token index " + i + " out of range 0.." + (_tokens.Count - 1)); } return _tokens[i]; }