code: public ChunkInputStream next() {
          throwIfChunkNotFullyRead();
  
          // Before return next chunk, catalog current chunk in manifest.
          addEntry();
  
          long chunkSize = calculateNextChunkSize();
          String chunkId = manifest.nextChunkId();
  
          InputStream buffIS = new BufferedInputStream(largeStream, BUFFER_SIZE);
          return currentChunk = new ChunkInputStream(chunkId,
                                                     buffIS,
                                                     chunkSize,
                                                     preserveChunkMD5s);
      }
docs: This method returns the next chunk of the wrapped InputStream.
  <p/>
  Throws a runtime exception if next() is called before previous stream
  was fully read.
  
  @return next chunk as InputStream