@Override
    public void reset() throws IOException {
        abortIfNeeded();
        in.reset();
        renewCipherLite();
        resetInternal();
        hasBeenAccessed = false;
    }
Resets back to the very beginning of the stream.
<p>
Mark and reset is currently only partially supported, in the sense that,
if the underlying input stream supports mark-and-reset, this input stream
can then be marked at and get reset back to the very beginning of the
stream (but not anywhere else).
aws-java-sdk-s3/src/main/java/com/amazonaws/services/s3/internal/crypto/RenewableCipherLiteInputStream.java