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

            return
                ((
                     ItemHash == input.ItemHash ||
                     (ItemHash.Equals(input.ItemHash))
                     ) &&
                 (
                     ItemName == input.ItemName ||
                     (ItemName != null && ItemName.Equals(input.ItemName))
                 ) &&
                 (
                     ItemDetail == input.ItemDetail ||
                     (ItemDetail != null && ItemDetail.Equals(input.ItemDetail))
                 ) &&
                 (
                     ItemDescription == input.ItemDescription ||
                     (ItemDescription != null && ItemDescription.Equals(input.ItemDescription))
                 ) &&
                 (
                     IconPath == input.IconPath ||
                     (IconPath != null && IconPath.Equals(input.IconPath))
                 ) &&
                 (
                     VendorItemIndex == input.VendorItemIndex ||
                     (VendorItemIndex.Equals(input.VendorItemIndex))
                 ));
        }