/// <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)
                 ));
        }