@Override
    public int LA(int i) {
		if ( i==-1 ) return lastChar; // special case
        sync(i);
        int index = p + i - 1;
        if ( index < 0 ) throw new IndexOutOfBoundsException();
		if ( index >= n ) return IntStream.EOF;
        return data[index];
    }
Override to provide different source of characters than
{@link #input input}.
runtime/Java/src/org/antlr/v4/runtime/UnbufferedCharStream.java