public long skip(long charCount) throws IOException {if (charCount < 0) {throw new IllegalArgumentException("charCount < 0: " + charCount);}synchronized (lock) {long skipped = 0;int toRead = charCount < 512 ? (int) charCount : 512;char[] charsSkipped = new char[toRead];while (skipped < charCount) {int read = read(charsSkipped, 0, toRead);if (read == -1) {return skipped;}skipped += read;if (read < toRead) {return skipped;}if (charCount - skipped < toRead) {toRead = (int) (charCount - skipped);}}return skipped;}}
public virtual long skip(long charCount){if (charCount < 0){throw new System.ArgumentException("charCount < 0: " + charCount);}lock (@lock){long skipped = 0;int toRead = charCount < 512 ? (int)charCount : 512;char[] charsSkipped = new char[toRead];while (skipped < charCount){int read_1 = read(charsSkipped, 0, toRead);if (read_1 == -1){return skipped;}skipped += read_1;if (read_1 < toRead){return skipped;}if (charCount - skipped < toRead){toRead = (int)(charCount - skipped);}}return skipped;}}