public void Write(Stream stream)
        {
            byte[] magic         = Encoding.ASCII.GetBytes("RMAN");
            byte   major         = 2;
            byte   minor         = 0;
            byte   unknown       = 0;
            byte   signatureType = 0;
            int    contentOffset = 4 + 4 + 4 + 4 + 8 + 4;

            byte[] uncompressedFile        = new byte[FlatBufferSerializer.Default.GetMaxSize(this._body)];
            int    uncompressedContentSize = FlatBufferSerializer.Default.Serialize(this._body, uncompressedFile);

            Array.Resize(ref uncompressedFile, uncompressedContentSize);

            byte[] compressedFile        = Compression.CompressZStandard(uncompressedFile);
            int    compressedContentSize = compressedFile.Length;

            using (BinaryWriter bw = new BinaryWriter(stream))
            {
                bw.Write(magic);
                bw.Write(major);
                bw.Write(minor);
                bw.Write(unknown);
                bw.Write(signatureType);
                bw.Write(contentOffset);
                bw.Write(compressedContentSize);
                bw.Write(this.ID);
                bw.Write(uncompressedContentSize);
                bw.Write(compressedFile);
            }
        }