code: protected void addBuffer() {
          if (buffers == null) {
              buffers = new LinkedList<byte[]>();
          }
  
          buffers.addLast(buffer);
  
          buffer = new byte[blockSize];
          size += index;
          index = 0;
      }
docs: Create a new buffer and store the
  current one in linked list