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