public override ICollection <byte> Serialize() { var content = new List <byte>(); content.AddRange(MessageId.Serialize()); content.AddRange(ProtocolOperation.Serialize()); if (Controls != null && Controls.Values.Any()) { content.AddRange(Controls.Serialize(0xa0)); } Length = content.Count(); var result = new List <byte>(); result.AddRange(SerializeDerStructure(true)); result.AddRange(content); return(result); }