@Override
    public final long skip(long n) throws IOException {
        int available = ofinish - ostart;
        if (n > available) {
            n = available;
        }
        if (n < 0) {
            return 0;
        }
        ostart += (int) n;
        return n;
    }
Skips <code>n</code> bytes of input from the bytes that can be read
from this input stream without blocking.

<p>Fewer bytes than requested might be skipped.
The actual number of bytes skipped is equal to <code>n</code> or
the result of a call to
{@link #available() available},
whichever is smaller.
If <code>n</code> is less than zero, no bytes are skipped.

<p>The actual number of bytes skipped is returned.

@param n the number of bytes to be skipped.
@return the actual number of bytes skipped.
@throws IOException if an I/O error occurs.
src/main/java/org/gaul/s3proxy/crypto/DecryptionInputStream.java