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

            return
                ((
                     StepName == input.StepName ||
                     (StepName != null && StepName.Equals(input.StepName))
                     ) &&
                 (
                     DisplayEffectType == input.DisplayEffectType ||
                     (DisplayEffectType != null && DisplayEffectType.Equals(input.DisplayEffectType))
                 ) &&
                 (
                     ProgressTotal == input.ProgressTotal ||
                     (ProgressTotal.Equals(input.ProgressTotal))
                 ) &&
                 (
                     RewardItems == input.RewardItems ||
                     (RewardItems != null && RewardItems.SequenceEqual(input.RewardItems))
                 ) &&
                 (
                     Icon == input.Icon ||
                     (Icon != null && Icon.Equals(input.Icon))
                 ));
        }