protected virtual Dictionary <string, EntryContentBase> GetIndexableContentItems(IEnumerable <EntryContentBase> products) { Dictionary <string, EntryContentBase> indexableContentItems = new Dictionary <string, EntryContentBase>(); foreach (var product in products) { EntryContentBase indexableProduct = product; string code = indexableProduct.Code; // Get "indexable" content var parentProduct = indexableProduct.GetParent(); if (parentProduct != null) { indexableProduct = parentProduct; code = parentProduct.Code; } if (indexableContentItems.ContainsKey(code) == false) { indexableContentItems.Add(code, indexableProduct); } } return(indexableContentItems); }