}
    static public void adjustBeginLineColumn(int newLine, int newCol) {        int start = tokenBegin;        int len;        if (bufpos >= tokenBegin) {            len = bufpos - tokenBegin + inBuf + 1;        } else {            len = bufsize - tokenBegin + bufpos + 1 + inBuf;        }        int i = 0;        int j = 0;        int k = 0;        int nextColDiff = 0;        int columnDiff = 0;        while ((i < len) && (bufline[j = start % bufsize] == bufline[k = ++start % bufsize])) {            bufline[j] = newLine;            nextColDiff = (columnDiff + bufcolumn[k]) - bufcolumn[j];            bufcolumn[j] = newCol + columnDiff;            columnDiff = nextColDiff;            i++;        }        if (i < len) {            bufline[j] = newLine++;            bufcolumn[j] = newCol + columnDiff;            while (i++ < len) {                if (bufline[j = start % bufsize] != bufline[++start % bufsize]) {                    bufline[j] = newLine++;                } else {                    bufline[j] = newLine;                }            }        }        line = bufline[j];        column = bufcolumn[j];    }