public long skip(long byteCount) throws IOException {if (byteCount < 0) {throw new IllegalArgumentException("byteCount < 0: " + byteCount);}synchronized (lock) {checkNotClosed();if (byteCount < 1) {return 0;}if (end - pos >= byteCount) {pos += byteCount;return byteCount;}long read = end - pos;pos = end;while (read < byteCount) {if (fillBuf() == -1) {return read;}if (end - pos >= byteCount - read) {pos += byteCount - read;return byteCount;}read += (end - pos);pos = end;}return byteCount;}}

public override long skip(long byteCount){if (byteCount < 0){throw new System.ArgumentException("byteCount < 0: " + byteCount);}lock (@lock){checkNotClosed();if (byteCount < 1){return 0;}if (end - pos >= byteCount){pos += (int)(byteCount);return byteCount;}long read_1 = end - pos;pos = end;while (read_1 < byteCount){if (fillBuf() == -1){return read_1;}if (end - pos >= byteCount - read_1){pos += (int)(byteCount - read_1);return byteCount;}read_1 += (end - pos);pos = end;}return byteCount;}}
