code: private void openStream() throws IOException {
      if (mClosed) {
        throw new IOException("Stream closed");
      }
      if (mMultiRangeChunkSize <= 0) {
        throw new IOException(ExceptionMessage.BLOCK_SIZE_INVALID.getMessage(mMultiRangeChunkSize));
      }
  
      if (mStream != null) { // stream is already open
        return;
      }
      final long endPos = mPos + mMultiRangeChunkSize - (mPos % mMultiRangeChunkSize);
      mEndPos = endPos;
      mStream = createStream(mPos, endPos);
    }
docs: Opens a new stream at mPos if the wrapped stream mStream is null.