public override byte[] Serialize()
{
List<byte> listByte = new List<byte>();
listByte.AddRange(BitConverter.GetBytes(this.Flags));
listByte.AddRange(BitConverter.GetBytes(this.HasState));
if (this.HasState)
{
listByte.AddRange(this.State.Serialize());
}
listByte.AddRange(BitConverter.GetBytes(this.HasVersion));
if (this.HasVersion)
{
listByte.AddRange(BitConverter.GetBytes(this.Version));
}
listByte.AddRange(BitConverter.GetBytes(this.AuxiliaryBufferSize));
listByte.AddRange(this.AuxiliaryBuffer);
return listByte.ToArray();
}
}