/// <summary>
        /// Create a copy of <see cref="LicenseRequestMessage"/>.
        /// </summary>
        /// <returns>Copy.</returns>
        public override Message Clone()
        {
            var clone = new LicenseRequestMessage();

            CopyTo(clone);
            return(clone);
        }
        /// <summary>
        /// Copy the message into the <paramref name="destination" />.
        /// </summary>
        /// <param name="destination">The object, to which copied information.</param>
        protected void CopyTo(LicenseRequestMessage destination)
        {
            if (destination == null)
            {
                throw new ArgumentNullException(nameof(destination));
            }

            base.CopyTo(destination);

            destination.Account        = Account;
            destination.BrokerId       = BrokerId;
            destination.LicenseId      = LicenseId;
            destination.HardwareId     = HardwareId;
            destination.Command        = Command;
            destination.Features       = Features;
            destination.ExpirationDate = ExpirationDate;
        }