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

            return
                ((
                     Progressions == input.Progressions ||
                     (Progressions != null && Progressions.SequenceEqual(input.Progressions))
                     ) &&
                 (
                     Factions == input.Factions ||
                     (Factions != null && Factions.SequenceEqual(input.Factions))
                 ) &&
                 (
                     Milestones == input.Milestones ||
                     (Milestones != null && Milestones.SequenceEqual(input.Milestones))
                 ) &&
                 (
                     Quests == input.Quests ||
                     (Quests != null && Quests.SequenceEqual(input.Quests))
                 ) &&
                 (
                     UninstancedItemObjectives == input.UninstancedItemObjectives ||
                     (UninstancedItemObjectives != null && UninstancedItemObjectives.SequenceEqual(input.UninstancedItemObjectives))
                 ) &&
                 (
                     UninstancedItemPerks == input.UninstancedItemPerks ||
                     (UninstancedItemPerks != null && UninstancedItemPerks.SequenceEqual(input.UninstancedItemPerks))
                 ) &&
                 (
                     Checklists == input.Checklists ||
                     (Checklists != null && Checklists.SequenceEqual(input.Checklists))
                 ) &&
                 (
                     SeasonalArtifact == input.SeasonalArtifact ||
                     (SeasonalArtifact != null && SeasonalArtifact.Equals(input.SeasonalArtifact))
                 ));
        }