/// <summary>
 /// Gets the hash code
 /// </summary>
 /// <returns>Hash code</returns>
 public override int GetHashCode()
 {
     unchecked // Overflow is fine, just wrap
     {
         var hashCode = 41;
         // Suitable nullity checks etc, of course :)
         if (MaxErrorsToBlacklist != null)
         {
             hashCode = hashCode * 59 + MaxErrorsToBlacklist.GetHashCode();
         }
         if (RetryIntervalToWhitelist != null)
         {
             hashCode = hashCode * 59 + RetryIntervalToWhitelist.GetHashCode();
         }
         if (ConnectTimeout != null)
         {
             hashCode = hashCode * 59 + ConnectTimeout.GetHashCode();
         }
         if (SocketTimeout != null)
         {
             hashCode = hashCode * 59 + SocketTimeout.GetHashCode();
         }
         if (ProcessLabel != null)
         {
             hashCode = hashCode * 59 + ProcessLabel.GetHashCode();
         }
         if (ConnectionUseMax != null)
         {
             hashCode = hashCode * 59 + ConnectionUseMax.GetHashCode();
         }
         return(hashCode);
     }
 }
        /// <summary>
        /// Returns true if ComDayCqDamIdsImplIDSPoolManagerImplProperties instances are equal
        /// </summary>
        /// <param name="other">Instance of ComDayCqDamIdsImplIDSPoolManagerImplProperties to be compared</param>
        /// <returns>Boolean</returns>
        public bool Equals(ComDayCqDamIdsImplIDSPoolManagerImplProperties other)
        {
            if (other is null)
            {
                return(false);
            }
            if (ReferenceEquals(this, other))
            {
                return(true);
            }

            return
                ((
                     MaxErrorsToBlacklist == other.MaxErrorsToBlacklist ||
                     MaxErrorsToBlacklist != null &&
                     MaxErrorsToBlacklist.Equals(other.MaxErrorsToBlacklist)
                     ) &&
                 (
                     RetryIntervalToWhitelist == other.RetryIntervalToWhitelist ||
                     RetryIntervalToWhitelist != null &&
                     RetryIntervalToWhitelist.Equals(other.RetryIntervalToWhitelist)
                 ) &&
                 (
                     ConnectTimeout == other.ConnectTimeout ||
                     ConnectTimeout != null &&
                     ConnectTimeout.Equals(other.ConnectTimeout)
                 ) &&
                 (
                     SocketTimeout == other.SocketTimeout ||
                     SocketTimeout != null &&
                     SocketTimeout.Equals(other.SocketTimeout)
                 ) &&
                 (
                     ProcessLabel == other.ProcessLabel ||
                     ProcessLabel != null &&
                     ProcessLabel.Equals(other.ProcessLabel)
                 ) &&
                 (
                     ConnectionUseMax == other.ConnectionUseMax ||
                     ConnectionUseMax != null &&
                     ConnectionUseMax.Equals(other.ConnectionUseMax)
                 ));
        }