public void seek(int index) {if (index == currentCharIndex) {return;}if (index > currentCharIndex) {sync(index - currentCharIndex);index = Math.min(index, getBufferStartIndex() + n - 1);}int i = index - getBufferStartIndex();if ( i < 0 ) {throw new IllegalArgumentException("cannot seek to negative index " + index);}else if (i >= n) {throw new UnsupportedOperationException("seek to index outside buffer: "+index+" not in "+getBufferStartIndex()+".."+(getBufferStartIndex()+n));}p = i;currentCharIndex = index;if (p == 0) {lastChar = lastCharBufferStart;}else {lastChar = data[p-1];}}

public void seek ( int index ) { if ( index == currentCharIndex ) { return ; } if ( index > currentCharIndex ) { sync ( index - currentCharIndex ) ; index = Math . min ( index , getBufferStartIndex ( ) + n - 1 ) ; } int i = index - getBufferStartIndex ( ) ; if ( i < 0 ) { throw new IllegalArgumentException ( "cannot seek to negative index " + index ) ; } else if ( i >= n ) { throw new UnsupportedOperationException ( "seek to index outside buffer: " + index + " not in " + getBufferStartIndex ( ) + ".." + ( getBufferStartIndex ( ) + n ) ) ; } p = i ; currentCharIndex = index ; if ( p == 0 ) { lastChar = lastCharBufferStart ; } else { lastChar = data [ p - 1 ] ; } }
public virtual void Seek(int index){if (index == currentCharIndex){return;}if (index > currentCharIndex){Sync(index - currentCharIndex);index = Math.Min(index, BufferStartIndex + n - 1);}int i = index - BufferStartIndex;if (i < 0){throw new ArgumentException("cannot seek to negative index " + index);}else{if (i >= n){throw new NotSupportedException("seek to index outside buffer: " + index + " not in " + BufferStartIndex + ".." + (BufferStartIndex + n));}}p = i;currentCharIndex = index;if (p == 0){lastChar = lastCharBufferStart;}else{lastChar = data[p - 1];}}
