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

            return
                ((
                     RepositoryHome == other.RepositoryHome ||
                     RepositoryHome != null &&
                     RepositoryHome.Equals(other.RepositoryHome)
                     ) &&
                 (
                     TarmkMode == other.TarmkMode ||
                     TarmkMode != null &&
                     TarmkMode.Equals(other.TarmkMode)
                 ) &&
                 (
                     TarmkSize == other.TarmkSize ||
                     TarmkSize != null &&
                     TarmkSize.Equals(other.TarmkSize)
                 ) &&
                 (
                     SegmentCacheSize == other.SegmentCacheSize ||
                     SegmentCacheSize != null &&
                     SegmentCacheSize.Equals(other.SegmentCacheSize)
                 ) &&
                 (
                     StringCacheSize == other.StringCacheSize ||
                     StringCacheSize != null &&
                     StringCacheSize.Equals(other.StringCacheSize)
                 ) &&
                 (
                     TemplateCacheSize == other.TemplateCacheSize ||
                     TemplateCacheSize != null &&
                     TemplateCacheSize.Equals(other.TemplateCacheSize)
                 ) &&
                 (
                     StringDeduplicationCacheSize == other.StringDeduplicationCacheSize ||
                     StringDeduplicationCacheSize != null &&
                     StringDeduplicationCacheSize.Equals(other.StringDeduplicationCacheSize)
                 ) &&
                 (
                     TemplateDeduplicationCacheSize == other.TemplateDeduplicationCacheSize ||
                     TemplateDeduplicationCacheSize != null &&
                     TemplateDeduplicationCacheSize.Equals(other.TemplateDeduplicationCacheSize)
                 ) &&
                 (
                     NodeDeduplicationCacheSize == other.NodeDeduplicationCacheSize ||
                     NodeDeduplicationCacheSize != null &&
                     NodeDeduplicationCacheSize.Equals(other.NodeDeduplicationCacheSize)
                 ) &&
                 (
                     PauseCompaction == other.PauseCompaction ||
                     PauseCompaction != null &&
                     PauseCompaction.Equals(other.PauseCompaction)
                 ) &&
                 (
                     CompactionRetryCount == other.CompactionRetryCount ||
                     CompactionRetryCount != null &&
                     CompactionRetryCount.Equals(other.CompactionRetryCount)
                 ) &&
                 (
                     CompactionForceTimeout == other.CompactionForceTimeout ||
                     CompactionForceTimeout != null &&
                     CompactionForceTimeout.Equals(other.CompactionForceTimeout)
                 ) &&
                 (
                     CompactionSizeDeltaEstimation == other.CompactionSizeDeltaEstimation ||
                     CompactionSizeDeltaEstimation != null &&
                     CompactionSizeDeltaEstimation.Equals(other.CompactionSizeDeltaEstimation)
                 ) &&
                 (
                     CompactionDisableEstimation == other.CompactionDisableEstimation ||
                     CompactionDisableEstimation != null &&
                     CompactionDisableEstimation.Equals(other.CompactionDisableEstimation)
                 ) &&
                 (
                     CompactionRetainedGenerations == other.CompactionRetainedGenerations ||
                     CompactionRetainedGenerations != null &&
                     CompactionRetainedGenerations.Equals(other.CompactionRetainedGenerations)
                 ) &&
                 (
                     CompactionMemoryThreshold == other.CompactionMemoryThreshold ||
                     CompactionMemoryThreshold != null &&
                     CompactionMemoryThreshold.Equals(other.CompactionMemoryThreshold)
                 ) &&
                 (
                     CompactionProgressLog == other.CompactionProgressLog ||
                     CompactionProgressLog != null &&
                     CompactionProgressLog.Equals(other.CompactionProgressLog)
                 ) &&
                 (
                     Standby == other.Standby ||
                     Standby != null &&
                     Standby.Equals(other.Standby)
                 ) &&
                 (
                     CustomBlobStore == other.CustomBlobStore ||
                     CustomBlobStore != null &&
                     CustomBlobStore.Equals(other.CustomBlobStore)
                 ) &&
                 (
                     CustomSegmentStore == other.CustomSegmentStore ||
                     CustomSegmentStore != null &&
                     CustomSegmentStore.Equals(other.CustomSegmentStore)
                 ) &&
                 (
                     SplitPersistence == other.SplitPersistence ||
                     SplitPersistence != null &&
                     SplitPersistence.Equals(other.SplitPersistence)
                 ) &&
                 (
                     RepositoryBackupDir == other.RepositoryBackupDir ||
                     RepositoryBackupDir != null &&
                     RepositoryBackupDir.Equals(other.RepositoryBackupDir)
                 ) &&
                 (
                     BlobGcMaxAgeInSecs == other.BlobGcMaxAgeInSecs ||
                     BlobGcMaxAgeInSecs != null &&
                     BlobGcMaxAgeInSecs.Equals(other.BlobGcMaxAgeInSecs)
                 ) &&
                 (
                     BlobTrackSnapshotIntervalInSecs == other.BlobTrackSnapshotIntervalInSecs ||
                     BlobTrackSnapshotIntervalInSecs != null &&
                     BlobTrackSnapshotIntervalInSecs.Equals(other.BlobTrackSnapshotIntervalInSecs)
                 ) &&
                 (
                     Role == other.Role ||
                     Role != null &&
                     Role.Equals(other.Role)
                 ) &&
                 (
                     RegisterDescriptors == other.RegisterDescriptors ||
                     RegisterDescriptors != null &&
                     RegisterDescriptors.Equals(other.RegisterDescriptors)
                 ) &&
                 (
                     DispatchChanges == other.DispatchChanges ||
                     DispatchChanges != null &&
                     DispatchChanges.Equals(other.DispatchChanges)
                 ));
        }
        /// <summary>
        /// Returns true if OrgApacheJackrabbitOakPluginsDocumentDocumentNodeStoreServiceProperties instances are equal
        /// </summary>
        /// <param name="other">Instance of OrgApacheJackrabbitOakPluginsDocumentDocumentNodeStoreServiceProperties to be compared</param>
        /// <returns>Boolean</returns>
        public bool Equals(OrgApacheJackrabbitOakPluginsDocumentDocumentNodeStoreServiceProperties other)
        {
            if (other is null)
            {
                return(false);
            }
            if (ReferenceEquals(this, other))
            {
                return(true);
            }

            return
                ((
                     Mongouri == other.Mongouri ||
                     Mongouri != null &&
                     Mongouri.Equals(other.Mongouri)
                     ) &&
                 (
                     Db == other.Db ||
                     Db != null &&
                     Db.Equals(other.Db)
                 ) &&
                 (
                     SocketKeepAlive == other.SocketKeepAlive ||
                     SocketKeepAlive != null &&
                     SocketKeepAlive.Equals(other.SocketKeepAlive)
                 ) &&
                 (
                     Cache == other.Cache ||
                     Cache != null &&
                     Cache.Equals(other.Cache)
                 ) &&
                 (
                     NodeCachePercentage == other.NodeCachePercentage ||
                     NodeCachePercentage != null &&
                     NodeCachePercentage.Equals(other.NodeCachePercentage)
                 ) &&
                 (
                     PrevDocCachePercentage == other.PrevDocCachePercentage ||
                     PrevDocCachePercentage != null &&
                     PrevDocCachePercentage.Equals(other.PrevDocCachePercentage)
                 ) &&
                 (
                     ChildrenCachePercentage == other.ChildrenCachePercentage ||
                     ChildrenCachePercentage != null &&
                     ChildrenCachePercentage.Equals(other.ChildrenCachePercentage)
                 ) &&
                 (
                     DiffCachePercentage == other.DiffCachePercentage ||
                     DiffCachePercentage != null &&
                     DiffCachePercentage.Equals(other.DiffCachePercentage)
                 ) &&
                 (
                     CacheSegmentCount == other.CacheSegmentCount ||
                     CacheSegmentCount != null &&
                     CacheSegmentCount.Equals(other.CacheSegmentCount)
                 ) &&
                 (
                     CacheStackMoveDistance == other.CacheStackMoveDistance ||
                     CacheStackMoveDistance != null &&
                     CacheStackMoveDistance.Equals(other.CacheStackMoveDistance)
                 ) &&
                 (
                     BlobCacheSize == other.BlobCacheSize ||
                     BlobCacheSize != null &&
                     BlobCacheSize.Equals(other.BlobCacheSize)
                 ) &&
                 (
                     PersistentCache == other.PersistentCache ||
                     PersistentCache != null &&
                     PersistentCache.Equals(other.PersistentCache)
                 ) &&
                 (
                     JournalCache == other.JournalCache ||
                     JournalCache != null &&
                     JournalCache.Equals(other.JournalCache)
                 ) &&
                 (
                     CustomBlobStore == other.CustomBlobStore ||
                     CustomBlobStore != null &&
                     CustomBlobStore.Equals(other.CustomBlobStore)
                 ) &&
                 (
                     JournalGCInterval == other.JournalGCInterval ||
                     JournalGCInterval != null &&
                     JournalGCInterval.Equals(other.JournalGCInterval)
                 ) &&
                 (
                     JournalGCMaxAge == other.JournalGCMaxAge ||
                     JournalGCMaxAge != null &&
                     JournalGCMaxAge.Equals(other.JournalGCMaxAge)
                 ) &&
                 (
                     PrefetchExternalChanges == other.PrefetchExternalChanges ||
                     PrefetchExternalChanges != null &&
                     PrefetchExternalChanges.Equals(other.PrefetchExternalChanges)
                 ) &&
                 (
                     Role == other.Role ||
                     Role != null &&
                     Role.Equals(other.Role)
                 ) &&
                 (
                     VersionGcMaxAgeInSecs == other.VersionGcMaxAgeInSecs ||
                     VersionGcMaxAgeInSecs != null &&
                     VersionGcMaxAgeInSecs.Equals(other.VersionGcMaxAgeInSecs)
                 ) &&
                 (
                     VersionGCExpression == other.VersionGCExpression ||
                     VersionGCExpression != null &&
                     VersionGCExpression.Equals(other.VersionGCExpression)
                 ) &&
                 (
                     VersionGCTimeLimitInSecs == other.VersionGCTimeLimitInSecs ||
                     VersionGCTimeLimitInSecs != null &&
                     VersionGCTimeLimitInSecs.Equals(other.VersionGCTimeLimitInSecs)
                 ) &&
                 (
                     BlobGcMaxAgeInSecs == other.BlobGcMaxAgeInSecs ||
                     BlobGcMaxAgeInSecs != null &&
                     BlobGcMaxAgeInSecs.Equals(other.BlobGcMaxAgeInSecs)
                 ) &&
                 (
                     BlobTrackSnapshotIntervalInSecs == other.BlobTrackSnapshotIntervalInSecs ||
                     BlobTrackSnapshotIntervalInSecs != null &&
                     BlobTrackSnapshotIntervalInSecs.Equals(other.BlobTrackSnapshotIntervalInSecs)
                 ) &&
                 (
                     RepositoryHome == other.RepositoryHome ||
                     RepositoryHome != null &&
                     RepositoryHome.Equals(other.RepositoryHome)
                 ) &&
                 (
                     MaxReplicationLagInSecs == other.MaxReplicationLagInSecs ||
                     MaxReplicationLagInSecs != null &&
                     MaxReplicationLagInSecs.Equals(other.MaxReplicationLagInSecs)
                 ) &&
                 (
                     DocumentStoreType == other.DocumentStoreType ||
                     DocumentStoreType != null &&
                     DocumentStoreType.Equals(other.DocumentStoreType)
                 ) &&
                 (
                     BundlingDisabled == other.BundlingDisabled ||
                     BundlingDisabled != null &&
                     BundlingDisabled.Equals(other.BundlingDisabled)
                 ) &&
                 (
                     UpdateLimit == other.UpdateLimit ||
                     UpdateLimit != null &&
                     UpdateLimit.Equals(other.UpdateLimit)
                 ) &&
                 (
                     PersistentCacheIncludes == other.PersistentCacheIncludes ||
                     PersistentCacheIncludes != null &&
                     PersistentCacheIncludes.Equals(other.PersistentCacheIncludes)
                 ) &&
                 (
                     LeaseCheckMode == other.LeaseCheckMode ||
                     LeaseCheckMode != null &&
                     LeaseCheckMode.Equals(other.LeaseCheckMode)
                 ));
        }