code: @Override
      public void reset() throws IOException {
          abortIfNeeded();
          // Clear up any encoded data
          currentChunkIterator = null;
          priorChunkSignature = headerSignature;
          // Reset the wrapped stream if it is mark-supported,
          // otherwise use our buffered data.
          if (is.markSupported()) {
              if (log.isDebugEnabled())
                  log.debug("AwsChunkedEncodingInputStream reset "
                          + "(will reset the wrapped stream because it is mark-supported).");
              is.reset();
          }
          else {
              if (log.isDebugEnabled())
                  log.debug("AwsChunkedEncodingInputStream reset "
                          + "(will use the buffer of the decoded stream).");
              if (null == decodedStreamBuffer) {
                  throw new IOException("Cannot reset the stream because the mark is not set.");
              }
              decodedStreamBuffer.startReadBuffer();
          }
  
          currentChunkIterator = null;
          isAtStart = true;
          isTerminating = false;
      }
docs: Reset the stream, either by resetting the wrapped stream or using the
  buffer created by this class.