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

            return
                ((
                     VersionId == other.VersionId ||
                     VersionId != null &&
                     VersionId.Equals(other.VersionId)
                     ) &&
                 (
                     CacheOn == other.CacheOn ||
                     CacheOn != null &&
                     CacheOn.Equals(other.CacheOn)
                 ) &&
                 (
                     ConcurrencyLevel == other.ConcurrencyLevel ||
                     ConcurrencyLevel != null &&
                     ConcurrencyLevel.Equals(other.ConcurrencyLevel)
                 ) &&
                 (
                     CacheStartSize == other.CacheStartSize ||
                     CacheStartSize != null &&
                     CacheStartSize.Equals(other.CacheStartSize)
                 ) &&
                 (
                     CacheTtl == other.CacheTtl ||
                     CacheTtl != null &&
                     CacheTtl.Equals(other.CacheTtl)
                 ) &&
                 (
                     CacheSize == other.CacheSize ||
                     CacheSize != null &&
                     CacheSize.Equals(other.CacheSize)
                 ) &&
                 (
                     TimeLimit == other.TimeLimit ||
                     TimeLimit != null &&
                     TimeLimit.Equals(other.TimeLimit)
                 ));
        }
        /// <summary>
        /// Returns true if ComAdobeCqSocialDatastoreOpImplSocialMSResourceProviderFactoryProperties instances are equal
        /// </summary>
        /// <param name="other">Instance of ComAdobeCqSocialDatastoreOpImplSocialMSResourceProviderFactoryProperties to be compared</param>
        /// <returns>Boolean</returns>
        public bool Equals(ComAdobeCqSocialDatastoreOpImplSocialMSResourceProviderFactoryProperties other)
        {
            if (other is null)
            {
                return(false);
            }
            if (ReferenceEquals(this, other))
            {
                return(true);
            }

            return
                ((
                     SolrZkTimeout == other.SolrZkTimeout ||
                     SolrZkTimeout != null &&
                     SolrZkTimeout.Equals(other.SolrZkTimeout)
                     ) &&
                 (
                     SolrCommit == other.SolrCommit ||
                     SolrCommit != null &&
                     SolrCommit.Equals(other.SolrCommit)
                 ) &&
                 (
                     CacheOn == other.CacheOn ||
                     CacheOn != null &&
                     CacheOn.Equals(other.CacheOn)
                 ) &&
                 (
                     ConcurrencyLevel == other.ConcurrencyLevel ||
                     ConcurrencyLevel != null &&
                     ConcurrencyLevel.Equals(other.ConcurrencyLevel)
                 ) &&
                 (
                     CacheStartSize == other.CacheStartSize ||
                     CacheStartSize != null &&
                     CacheStartSize.Equals(other.CacheStartSize)
                 ) &&
                 (
                     CacheTtl == other.CacheTtl ||
                     CacheTtl != null &&
                     CacheTtl.Equals(other.CacheTtl)
                 ) &&
                 (
                     CacheSize == other.CacheSize ||
                     CacheSize != null &&
                     CacheSize.Equals(other.CacheSize)
                 ));
        }
 /// <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 (VersionId != null)
         {
             hashCode = hashCode * 59 + VersionId.GetHashCode();
         }
         if (CacheOn != null)
         {
             hashCode = hashCode * 59 + CacheOn.GetHashCode();
         }
         if (ConcurrencyLevel != null)
         {
             hashCode = hashCode * 59 + ConcurrencyLevel.GetHashCode();
         }
         if (CacheStartSize != null)
         {
             hashCode = hashCode * 59 + CacheStartSize.GetHashCode();
         }
         if (CacheTtl != null)
         {
             hashCode = hashCode * 59 + CacheTtl.GetHashCode();
         }
         if (CacheSize != null)
         {
             hashCode = hashCode * 59 + CacheSize.GetHashCode();
         }
         if (TimeLimit != null)
         {
             hashCode = hashCode * 59 + TimeLimit.GetHashCode();
         }
         return(hashCode);
     }
 }