private void startGzipBlock() throws IOException {
        // At what point to we start a new block
        currentBlockEndPos = (blockCount + 1) * blockSize;

        // Record the start Pos
        final long currentRawBlockStartPos = raFile.position();

        // Record the index
        indexBuffer.writeLong(currentRawBlockStartPos);

        // Marker
        mainBuffer.write(BlockGZIPConstants.MAGIC_MARKER);

        // Write some bytes for the long we will do later
        mainBuffer.writeLong(0);

        // Connect a new GZIP stream
        currentStreamGzip = new GzipCompressorOutputStream(mainBuffer);
        currentStreamBuffer = new BufferedOutputStream(currentStreamGzip, FileSystemUtil.STREAM_BUFFER_SIZE);
    }
Start a new burst of GZIP Block Content (with a marker).
stroom-data/stroom-data-store-impl-fs/src/main/java/stroom/data/store/impl/fs/BlockGZIPOutputFile.java