public void Update(DestinyCharacterRecordsComponent?other)
 {
     if (other is null)
     {
         return;
     }
     if (!FeaturedRecordHashes.DeepEqualsListNaive(other.FeaturedRecordHashes))
     {
         FeaturedRecordHashes = other.FeaturedRecordHashes;
         OnPropertyChanged(nameof(FeaturedRecordHashes));
     }
     if (!Records.DeepEqualsDictionary(other.Records))
     {
         Records = other.Records;
         OnPropertyChanged(nameof(Records));
     }
     if (RecordCategoriesRootNodeHash != other.RecordCategoriesRootNodeHash)
     {
         RecordCategoriesRootNodeHash = other.RecordCategoriesRootNodeHash;
         OnPropertyChanged(nameof(RecordCategoriesRootNodeHash));
     }
     if (RecordSealsRootNodeHash != other.RecordSealsRootNodeHash)
     {
         RecordSealsRootNodeHash = other.RecordSealsRootNodeHash;
         OnPropertyChanged(nameof(RecordSealsRootNodeHash));
     }
 }
 public bool DeepEquals(DestinyCharacterRecordsComponent?other)
 {
     return(other is not null &&
            FeaturedRecordHashes.DeepEqualsListNaive(other.FeaturedRecordHashes) &&
            Records.DeepEqualsDictionary(other.Records) &&
            RecordCategoriesRootNodeHash == other.RecordCategoriesRootNodeHash &&
            RecordSealsRootNodeHash == other.RecordSealsRootNodeHash);
 }