public void AddIntoContainer(PlayerItem item) { try { ItemsEnum itemType = AnalyzeBaseRecord(item.baserecord); RarityEnum rarity = RarityEnumHelpers.StringToRarityEnum(item.Rarity); containedItemTypes.Add(itemType); containedRarities.Add(rarity); if (!ItemsDict.ContainsKey(itemType)) { ItemsDict.Add(itemType, new Dictionary <RarityEnum, List <PlayerItem> >()); } if (!ItemsDict[itemType].ContainsKey(rarity)) { ItemsDict[itemType].Add(rarity, new List <PlayerItem>() { item }); } else { ItemsDict[itemType][rarity].Add(item); } } catch (Exception ex) { log.Error("Error while adding item to dict:", ex); } }