public XElement Serialize(MessageColor messageColor, string elementName = "color")
        {
            messageColor.ThrowIfNull("messageColor");
            elementName.ThrowIfNull("elementName");

            return new XElement(
                elementName,
                new XAttribute("color", ColorSerializer.Instance.Serialize(messageColor.Color)));
        }
        public byte[] Serialize(MessageColor messageColor)
        {
            messageColor.ThrowIfNull("messageColor");

            var serializer = new CompactSerializer();

            serializer[0] = ColorSerializer.Instance.Serialize(messageColor.Color);

            return serializer.Serialize();
        }