public bool Equals(DestinyTraitCategoryDefinition input)
        {
            if (input == null)
            {
                return(false);
            }

            return
                ((
                     TraitCategoryId == input.TraitCategoryId ||
                     (TraitCategoryId != null && TraitCategoryId.Equals(input.TraitCategoryId))
                     ) &&
                 (
                     TraitHashes == input.TraitHashes ||
                     (TraitHashes != null && TraitHashes.SequenceEqual(input.TraitHashes))
                 ) &&
                 (
                     TraitIds == input.TraitIds ||
                     (TraitIds != null && TraitIds.SequenceEqual(input.TraitIds))
                 ) &&
                 (
                     Hash == input.Hash ||
                     (Hash.Equals(input.Hash))
                 ) &&
                 (
                     Index == input.Index ||
                     (Index.Equals(input.Index))
                 ) &&
                 (
                     Redacted == input.Redacted ||
                     (Redacted != null && Redacted.Equals(input.Redacted))
                 ));
        }
        public bool Equals(DestinyTraitDefinition input)
        {
            if (input == null)
            {
                return(false);
            }

            return
                ((
                     DisplayProperties == input.DisplayProperties ||
                     (DisplayProperties != null && DisplayProperties.Equals(input.DisplayProperties))
                     ) &&
                 (
                     TraitCategoryId == input.TraitCategoryId ||
                     (TraitCategoryId != null && TraitCategoryId.Equals(input.TraitCategoryId))
                 ) &&
                 (
                     TraitCategoryHash == input.TraitCategoryHash ||
                     (TraitCategoryHash.Equals(input.TraitCategoryHash))
                 ) &&
                 (
                     Hash == input.Hash ||
                     (Hash.Equals(input.Hash))
                 ) &&
                 (
                     Index == input.Index ||
                     (Index.Equals(input.Index))
                 ) &&
                 (
                     Redacted == input.Redacted ||
                     (Redacted != null && Redacted.Equals(input.Redacted))
                 ));
        }