code: private void dumpBuffer(final boolean writePartial) {
          if ((currentBufferPosition < chunkSize) && !writePartial) {
              // Bail out, chunk not complete yet
              return;
          }
          if (currentBufferPosition == 0) {
              // chunk is empty, may be last chunk
              return;
          }
  
          byte[] writeBuffer = buffer;
          if (currentBufferPosition != chunkSize) {
              writeBuffer = new byte[currentBufferPosition];
              System.arraycopy(buffer, 0, writeBuffer, 0, currentBufferPosition);
          }
  
          DBObject chunk = createChunk(id, currentChunkNumber, writeBuffer);
  
          fs.getChunksCollection().save(chunk);
  
          currentChunkNumber++;
          totalBytes += writeBuffer.length;
          messageDigester.update(writeBuffer);
          currentBufferPosition = 0;
      }
docs: Dumps a new chunk into the chunks collection. Depending on the flag, also partial buffers (at the end) are going to be written
  immediately.
  
  @param writePartial Write also partial buffers full.
  @throws MongoException if there's a failure