/// <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 (RepositoryHome != null)
         {
             hashCode = hashCode * 59 + RepositoryHome.GetHashCode();
         }
         if (TarmkMode != null)
         {
             hashCode = hashCode * 59 + TarmkMode.GetHashCode();
         }
         if (TarmkSize != null)
         {
             hashCode = hashCode * 59 + TarmkSize.GetHashCode();
         }
         if (SegmentCacheSize != null)
         {
             hashCode = hashCode * 59 + SegmentCacheSize.GetHashCode();
         }
         if (StringCacheSize != null)
         {
             hashCode = hashCode * 59 + StringCacheSize.GetHashCode();
         }
         if (TemplateCacheSize != null)
         {
             hashCode = hashCode * 59 + TemplateCacheSize.GetHashCode();
         }
         if (StringDeduplicationCacheSize != null)
         {
             hashCode = hashCode * 59 + StringDeduplicationCacheSize.GetHashCode();
         }
         if (TemplateDeduplicationCacheSize != null)
         {
             hashCode = hashCode * 59 + TemplateDeduplicationCacheSize.GetHashCode();
         }
         if (NodeDeduplicationCacheSize != null)
         {
             hashCode = hashCode * 59 + NodeDeduplicationCacheSize.GetHashCode();
         }
         if (PauseCompaction != null)
         {
             hashCode = hashCode * 59 + PauseCompaction.GetHashCode();
         }
         if (CompactionRetryCount != null)
         {
             hashCode = hashCode * 59 + CompactionRetryCount.GetHashCode();
         }
         if (CompactionForceTimeout != null)
         {
             hashCode = hashCode * 59 + CompactionForceTimeout.GetHashCode();
         }
         if (CompactionSizeDeltaEstimation != null)
         {
             hashCode = hashCode * 59 + CompactionSizeDeltaEstimation.GetHashCode();
         }
         if (CompactionDisableEstimation != null)
         {
             hashCode = hashCode * 59 + CompactionDisableEstimation.GetHashCode();
         }
         if (CompactionRetainedGenerations != null)
         {
             hashCode = hashCode * 59 + CompactionRetainedGenerations.GetHashCode();
         }
         if (CompactionMemoryThreshold != null)
         {
             hashCode = hashCode * 59 + CompactionMemoryThreshold.GetHashCode();
         }
         if (CompactionProgressLog != null)
         {
             hashCode = hashCode * 59 + CompactionProgressLog.GetHashCode();
         }
         if (Standby != null)
         {
             hashCode = hashCode * 59 + Standby.GetHashCode();
         }
         if (CustomBlobStore != null)
         {
             hashCode = hashCode * 59 + CustomBlobStore.GetHashCode();
         }
         if (CustomSegmentStore != null)
         {
             hashCode = hashCode * 59 + CustomSegmentStore.GetHashCode();
         }
         if (SplitPersistence != null)
         {
             hashCode = hashCode * 59 + SplitPersistence.GetHashCode();
         }
         if (RepositoryBackupDir != null)
         {
             hashCode = hashCode * 59 + RepositoryBackupDir.GetHashCode();
         }
         if (BlobGcMaxAgeInSecs != null)
         {
             hashCode = hashCode * 59 + BlobGcMaxAgeInSecs.GetHashCode();
         }
         if (BlobTrackSnapshotIntervalInSecs != null)
         {
             hashCode = hashCode * 59 + BlobTrackSnapshotIntervalInSecs.GetHashCode();
         }
         if (Role != null)
         {
             hashCode = hashCode * 59 + Role.GetHashCode();
         }
         if (RegisterDescriptors != null)
         {
             hashCode = hashCode * 59 + RegisterDescriptors.GetHashCode();
         }
         if (DispatchChanges != null)
         {
             hashCode = hashCode * 59 + DispatchChanges.GetHashCode();
         }
         return(hashCode);
     }
 }
 /// <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 (Mongouri != null)
         {
             hashCode = hashCode * 59 + Mongouri.GetHashCode();
         }
         if (Db != null)
         {
             hashCode = hashCode * 59 + Db.GetHashCode();
         }
         if (SocketKeepAlive != null)
         {
             hashCode = hashCode * 59 + SocketKeepAlive.GetHashCode();
         }
         if (Cache != null)
         {
             hashCode = hashCode * 59 + Cache.GetHashCode();
         }
         if (NodeCachePercentage != null)
         {
             hashCode = hashCode * 59 + NodeCachePercentage.GetHashCode();
         }
         if (PrevDocCachePercentage != null)
         {
             hashCode = hashCode * 59 + PrevDocCachePercentage.GetHashCode();
         }
         if (ChildrenCachePercentage != null)
         {
             hashCode = hashCode * 59 + ChildrenCachePercentage.GetHashCode();
         }
         if (DiffCachePercentage != null)
         {
             hashCode = hashCode * 59 + DiffCachePercentage.GetHashCode();
         }
         if (CacheSegmentCount != null)
         {
             hashCode = hashCode * 59 + CacheSegmentCount.GetHashCode();
         }
         if (CacheStackMoveDistance != null)
         {
             hashCode = hashCode * 59 + CacheStackMoveDistance.GetHashCode();
         }
         if (BlobCacheSize != null)
         {
             hashCode = hashCode * 59 + BlobCacheSize.GetHashCode();
         }
         if (PersistentCache != null)
         {
             hashCode = hashCode * 59 + PersistentCache.GetHashCode();
         }
         if (JournalCache != null)
         {
             hashCode = hashCode * 59 + JournalCache.GetHashCode();
         }
         if (CustomBlobStore != null)
         {
             hashCode = hashCode * 59 + CustomBlobStore.GetHashCode();
         }
         if (JournalGCInterval != null)
         {
             hashCode = hashCode * 59 + JournalGCInterval.GetHashCode();
         }
         if (JournalGCMaxAge != null)
         {
             hashCode = hashCode * 59 + JournalGCMaxAge.GetHashCode();
         }
         if (PrefetchExternalChanges != null)
         {
             hashCode = hashCode * 59 + PrefetchExternalChanges.GetHashCode();
         }
         if (Role != null)
         {
             hashCode = hashCode * 59 + Role.GetHashCode();
         }
         if (VersionGcMaxAgeInSecs != null)
         {
             hashCode = hashCode * 59 + VersionGcMaxAgeInSecs.GetHashCode();
         }
         if (VersionGCExpression != null)
         {
             hashCode = hashCode * 59 + VersionGCExpression.GetHashCode();
         }
         if (VersionGCTimeLimitInSecs != null)
         {
             hashCode = hashCode * 59 + VersionGCTimeLimitInSecs.GetHashCode();
         }
         if (BlobGcMaxAgeInSecs != null)
         {
             hashCode = hashCode * 59 + BlobGcMaxAgeInSecs.GetHashCode();
         }
         if (BlobTrackSnapshotIntervalInSecs != null)
         {
             hashCode = hashCode * 59 + BlobTrackSnapshotIntervalInSecs.GetHashCode();
         }
         if (RepositoryHome != null)
         {
             hashCode = hashCode * 59 + RepositoryHome.GetHashCode();
         }
         if (MaxReplicationLagInSecs != null)
         {
             hashCode = hashCode * 59 + MaxReplicationLagInSecs.GetHashCode();
         }
         if (DocumentStoreType != null)
         {
             hashCode = hashCode * 59 + DocumentStoreType.GetHashCode();
         }
         if (BundlingDisabled != null)
         {
             hashCode = hashCode * 59 + BundlingDisabled.GetHashCode();
         }
         if (UpdateLimit != null)
         {
             hashCode = hashCode * 59 + UpdateLimit.GetHashCode();
         }
         if (PersistentCacheIncludes != null)
         {
             hashCode = hashCode * 59 + PersistentCacheIncludes.GetHashCode();
         }
         if (LeaseCheckMode != null)
         {
             hashCode = hashCode * 59 + LeaseCheckMode.GetHashCode();
         }
         return(hashCode);
     }
 }