public void Update(DestinyItemQualityBlockDefinition?other)
 {
     if (other is null)
     {
         return;
     }
     if (!ItemLevels.DeepEqualsListNaive(other.ItemLevels))
     {
         ItemLevels = other.ItemLevels;
         OnPropertyChanged(nameof(ItemLevels));
     }
     if (QualityLevel != other.QualityLevel)
     {
         QualityLevel = other.QualityLevel;
         OnPropertyChanged(nameof(QualityLevel));
     }
     if (InfusionCategoryName != other.InfusionCategoryName)
     {
         InfusionCategoryName = other.InfusionCategoryName;
         OnPropertyChanged(nameof(InfusionCategoryName));
     }
     if (InfusionCategoryHash != other.InfusionCategoryHash)
     {
         InfusionCategoryHash = other.InfusionCategoryHash;
         OnPropertyChanged(nameof(InfusionCategoryHash));
     }
     if (!InfusionCategoryHashes.DeepEqualsListNaive(other.InfusionCategoryHashes))
     {
         InfusionCategoryHashes = other.InfusionCategoryHashes;
         OnPropertyChanged(nameof(InfusionCategoryHashes));
     }
     if (ProgressionLevelRequirementHash != other.ProgressionLevelRequirementHash)
     {
         ProgressionLevelRequirementHash = other.ProgressionLevelRequirementHash;
         OnPropertyChanged(nameof(ProgressionLevelRequirementHash));
     }
     if (CurrentVersion != other.CurrentVersion)
     {
         CurrentVersion = other.CurrentVersion;
         OnPropertyChanged(nameof(CurrentVersion));
     }
     if (!Versions.DeepEqualsList(other.Versions))
     {
         Versions = other.Versions;
         OnPropertyChanged(nameof(Versions));
     }
     if (!DisplayVersionWatermarkIcons.DeepEqualsListNaive(other.DisplayVersionWatermarkIcons))
     {
         DisplayVersionWatermarkIcons = other.DisplayVersionWatermarkIcons;
         OnPropertyChanged(nameof(DisplayVersionWatermarkIcons));
     }
 }
 public bool DeepEquals(DestinyItemQualityBlockDefinition?other)
 {
     return(other is not null &&
            ItemLevels.DeepEqualsListNaive(other.ItemLevels) &&
            QualityLevel == other.QualityLevel &&
            InfusionCategoryName == other.InfusionCategoryName &&
            InfusionCategoryHash == other.InfusionCategoryHash &&
            InfusionCategoryHashes.DeepEqualsListNaive(other.InfusionCategoryHashes) &&
            ProgressionLevelRequirementHash == other.ProgressionLevelRequirementHash &&
            CurrentVersion == other.CurrentVersion &&
            Versions.DeepEqualsList(other.Versions) &&
            DisplayVersionWatermarkIcons.DeepEqualsListNaive(other.DisplayVersionWatermarkIcons));
 }