public override string ToString()
        {
            var returnCodesText = string.Join(",", ReturnCodes.Select(f => f.ToString()));
            var reasonCodesText = string.Join(",", ReasonCodes.Select(f => f.ToString()));

            return(string.Concat("SubAck: [PacketIdentifier=", PacketIdentifier, "] [ReturnCodes=", returnCodesText, "] [ReasonCode=", reasonCodesText, "]"));
        }
        public override string ToString()
        {
            var reasonCodesText = string.Empty;

            if (ReasonCodes != null)
            {
                reasonCodesText = string.Join(",", ReasonCodes?.Select(f => f.ToString()));
            }

            return($"UnsubAck: [PacketIdentifier={PacketIdentifier}] [ReasonCodes={reasonCodesText}] [ReasonString={ReasonString}]");
        }
        public override string ToString()
        {
            var reasonCodesText = string.Join(",", ReasonCodes.Select(f => f.ToString()));

            return($"SubAck: [PacketIdentifier={PacketIdentifier}] [ReasonCode={reasonCodesText}]");
        }