/// <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 (ComAdobeGraniteJettySslPort != null)
         {
             hashCode = hashCode * 59 + ComAdobeGraniteJettySslPort.GetHashCode();
         }
         if (ComAdobeGraniteJettySslKeystoreUser != null)
         {
             hashCode = hashCode * 59 + ComAdobeGraniteJettySslKeystoreUser.GetHashCode();
         }
         if (ComAdobeGraniteJettySslKeystorePassword != null)
         {
             hashCode = hashCode * 59 + ComAdobeGraniteJettySslKeystorePassword.GetHashCode();
         }
         if (ComAdobeGraniteJettySslCiphersuitesExcluded != null)
         {
             hashCode = hashCode * 59 + ComAdobeGraniteJettySslCiphersuitesExcluded.GetHashCode();
         }
         if (ComAdobeGraniteJettySslCiphersuitesIncluded != null)
         {
             hashCode = hashCode * 59 + ComAdobeGraniteJettySslCiphersuitesIncluded.GetHashCode();
         }
         if (ComAdobeGraniteJettySslClientCertificate != null)
         {
             hashCode = hashCode * 59 + ComAdobeGraniteJettySslClientCertificate.GetHashCode();
         }
         return(hashCode);
     }
 }
        /// <summary>
        /// Returns true if ComAdobeGraniteJettySslInternalGraniteSslConnectorFactoryProperties instances are equal
        /// </summary>
        /// <param name="other">Instance of ComAdobeGraniteJettySslInternalGraniteSslConnectorFactoryProperties to be compared</param>
        /// <returns>Boolean</returns>
        public bool Equals(ComAdobeGraniteJettySslInternalGraniteSslConnectorFactoryProperties other)
        {
            if (other is null)
            {
                return(false);
            }
            if (ReferenceEquals(this, other))
            {
                return(true);
            }

            return
                ((
                     ComAdobeGraniteJettySslPort == other.ComAdobeGraniteJettySslPort ||
                     ComAdobeGraniteJettySslPort != null &&
                     ComAdobeGraniteJettySslPort.Equals(other.ComAdobeGraniteJettySslPort)
                     ) &&
                 (
                     ComAdobeGraniteJettySslKeystoreUser == other.ComAdobeGraniteJettySslKeystoreUser ||
                     ComAdobeGraniteJettySslKeystoreUser != null &&
                     ComAdobeGraniteJettySslKeystoreUser.Equals(other.ComAdobeGraniteJettySslKeystoreUser)
                 ) &&
                 (
                     ComAdobeGraniteJettySslKeystorePassword == other.ComAdobeGraniteJettySslKeystorePassword ||
                     ComAdobeGraniteJettySslKeystorePassword != null &&
                     ComAdobeGraniteJettySslKeystorePassword.Equals(other.ComAdobeGraniteJettySslKeystorePassword)
                 ) &&
                 (
                     ComAdobeGraniteJettySslCiphersuitesExcluded == other.ComAdobeGraniteJettySslCiphersuitesExcluded ||
                     ComAdobeGraniteJettySslCiphersuitesExcluded != null &&
                     ComAdobeGraniteJettySslCiphersuitesExcluded.Equals(other.ComAdobeGraniteJettySslCiphersuitesExcluded)
                 ) &&
                 (
                     ComAdobeGraniteJettySslCiphersuitesIncluded == other.ComAdobeGraniteJettySslCiphersuitesIncluded ||
                     ComAdobeGraniteJettySslCiphersuitesIncluded != null &&
                     ComAdobeGraniteJettySslCiphersuitesIncluded.Equals(other.ComAdobeGraniteJettySslCiphersuitesIncluded)
                 ) &&
                 (
                     ComAdobeGraniteJettySslClientCertificate == other.ComAdobeGraniteJettySslClientCertificate ||
                     ComAdobeGraniteJettySslClientCertificate != null &&
                     ComAdobeGraniteJettySslClientCertificate.Equals(other.ComAdobeGraniteJettySslClientCertificate)
                 ));
        }