in src/main/java/org/apache/commons/crypto/stream/CryptoInputStream.java [582:616]
public long skip(final long n) throws IOException {
Utils.checkArgument(n >= 0, "Negative skip length.");
checkStream();
if (n == 0) {
return 0;
}
long remaining = n;
int nd;
while (remaining > 0) {
if (remaining <= outBuffer.remaining()) {
// Skip in the remaining buffer
final int pos = outBuffer.position() + (int) remaining;
outBuffer.position(pos);
remaining = 0;
break;
}
remaining -= outBuffer.remaining();
outBuffer.clear();
// we loop for new data
nd = 0;
while (nd == 0) {
nd = decryptMore();
}
if (nd < 0) {
break;
}
}
return n - remaining;
}