public void Combine(TypeConfiguration another)
 {
     Augments.AddRange(another.Augments);
     foreach (var thunk in another.CustomThunks)
     {
         AddCustomThunk(thunk);
     }
     if (another.NestedConfigurations.IsValueCreated)
     {
         foreach (var pair in another.NestedConfigurations.Value)
         {
             NestedConfigurations.Value.Add(pair.Key, pair.Value);
         }
     }
 }
        public bool Equals(DestinyVendorSaleItemComponent input)
        {
            if (input == null)
            {
                return(false);
            }

            return
                ((
                     SaleStatus == input.SaleStatus ||
                     (SaleStatus != null && SaleStatus.Equals(input.SaleStatus))
                     ) &&
                 (
                     RequiredUnlocks == input.RequiredUnlocks ||
                     (RequiredUnlocks != null && RequiredUnlocks.SequenceEqual(input.RequiredUnlocks))
                 ) &&
                 (
                     UnlockStatuses == input.UnlockStatuses ||
                     (UnlockStatuses != null && UnlockStatuses.SequenceEqual(input.UnlockStatuses))
                 ) &&
                 (
                     FailureIndexes == input.FailureIndexes ||
                     (FailureIndexes != null && FailureIndexes.SequenceEqual(input.FailureIndexes))
                 ) &&
                 (
                     Augments == input.Augments ||
                     (Augments != null && Augments.Equals(input.Augments))
                 ) &&
                 (
                     ItemValueVisibility == input.ItemValueVisibility ||
                     (ItemValueVisibility != null && ItemValueVisibility.SequenceEqual(input.ItemValueVisibility))
                 ) &&
                 (
                     VendorItemIndex == input.VendorItemIndex ||
                     (VendorItemIndex.Equals(input.VendorItemIndex))
                 ) &&
                 (
                     ItemHash == input.ItemHash ||
                     (ItemHash.Equals(input.ItemHash))
                 ) &&
                 (
                     OverrideStyleItemHash == input.OverrideStyleItemHash ||
                     (OverrideStyleItemHash.Equals(input.OverrideStyleItemHash))
                 ) &&
                 (
                     Quantity == input.Quantity ||
                     (Quantity.Equals(input.Quantity))
                 ) &&
                 (
                     Costs == input.Costs ||
                     (Costs != null && Costs.SequenceEqual(input.Costs))
                 ) &&
                 (
                     OverrideNextRefreshDate == input.OverrideNextRefreshDate ||
                     (OverrideNextRefreshDate != null && OverrideNextRefreshDate.Equals(input.OverrideNextRefreshDate))
                 ) &&
                 (
                     ApiPurchasable == input.ApiPurchasable ||
                     (ApiPurchasable != null && ApiPurchasable.Equals(input.ApiPurchasable))
                 ));
        }