/// <summary>
        /// Returns true if ComAdobeCqSocialMessagingClientEndpointsImplMessagingOperationProperties instances are equal
        /// </summary>
        /// <param name="other">Instance of ComAdobeCqSocialMessagingClientEndpointsImplMessagingOperationProperties to be compared</param>
        /// <returns>Boolean</returns>
        public bool Equals(ComAdobeCqSocialMessagingClientEndpointsImplMessagingOperationProperties other)
        {
            if (other is null)
            {
                return(false);
            }
            if (ReferenceEquals(this, other))
            {
                return(true);
            }

            return
                ((
                     MessageProperties == other.MessageProperties ||
                     MessageProperties != null &&
                     MessageProperties.Equals(other.MessageProperties)
                     ) &&
                 (
                     MessageBoxSizeLimit == other.MessageBoxSizeLimit ||
                     MessageBoxSizeLimit != null &&
                     MessageBoxSizeLimit.Equals(other.MessageBoxSizeLimit)
                 ) &&
                 (
                     MessageCountLimit == other.MessageCountLimit ||
                     MessageCountLimit != null &&
                     MessageCountLimit.Equals(other.MessageCountLimit)
                 ) &&
                 (
                     NotifyFailure == other.NotifyFailure ||
                     NotifyFailure != null &&
                     NotifyFailure.Equals(other.NotifyFailure)
                 ) &&
                 (
                     FailureMessageFrom == other.FailureMessageFrom ||
                     FailureMessageFrom != null &&
                     FailureMessageFrom.Equals(other.FailureMessageFrom)
                 ) &&
                 (
                     FailureTemplatePath == other.FailureTemplatePath ||
                     FailureTemplatePath != null &&
                     FailureTemplatePath.Equals(other.FailureTemplatePath)
                 ) &&
                 (
                     MaxRetries == other.MaxRetries ||
                     MaxRetries != null &&
                     MaxRetries.Equals(other.MaxRetries)
                 ) &&
                 (
                     MinWaitBetweenRetries == other.MinWaitBetweenRetries ||
                     MinWaitBetweenRetries != null &&
                     MinWaitBetweenRetries.Equals(other.MinWaitBetweenRetries)
                 ) &&
                 (
                     CountUpdatePoolSize == other.CountUpdatePoolSize ||
                     CountUpdatePoolSize != null &&
                     CountUpdatePoolSize.Equals(other.CountUpdatePoolSize)
                 ) &&
                 (
                     InboxPath == other.InboxPath ||
                     InboxPath != null &&
                     InboxPath.Equals(other.InboxPath)
                 ) &&
                 (
                     SentitemsPath == other.SentitemsPath ||
                     SentitemsPath != null &&
                     SentitemsPath.Equals(other.SentitemsPath)
                 ) &&
                 (
                     SupportAttachments == other.SupportAttachments ||
                     SupportAttachments != null &&
                     SupportAttachments.Equals(other.SupportAttachments)
                 ) &&
                 (
                     SupportGroupMessaging == other.SupportGroupMessaging ||
                     SupportGroupMessaging != null &&
                     SupportGroupMessaging.Equals(other.SupportGroupMessaging)
                 ) &&
                 (
                     MaxTotalRecipients == other.MaxTotalRecipients ||
                     MaxTotalRecipients != null &&
                     MaxTotalRecipients.Equals(other.MaxTotalRecipients)
                 ) &&
                 (
                     BatchSize == other.BatchSize ||
                     BatchSize != null &&
                     BatchSize.Equals(other.BatchSize)
                 ) &&
                 (
                     MaxTotalAttachmentSize == other.MaxTotalAttachmentSize ||
                     MaxTotalAttachmentSize != null &&
                     MaxTotalAttachmentSize.Equals(other.MaxTotalAttachmentSize)
                 ) &&
                 (
                     AttachmentTypeBlacklist == other.AttachmentTypeBlacklist ||
                     AttachmentTypeBlacklist != null &&
                     AttachmentTypeBlacklist.Equals(other.AttachmentTypeBlacklist)
                 ) &&
                 (
                     AllowedAttachmentTypes == other.AllowedAttachmentTypes ||
                     AllowedAttachmentTypes != null &&
                     AllowedAttachmentTypes.Equals(other.AllowedAttachmentTypes)
                 ) &&
                 (
                     ServiceSelector == other.ServiceSelector ||
                     ServiceSelector != null &&
                     ServiceSelector.Equals(other.ServiceSelector)
                 ) &&
                 (
                     FieldWhitelist == other.FieldWhitelist ||
                     FieldWhitelist != null &&
                     FieldWhitelist.Equals(other.FieldWhitelist)
                 ));
        }