//fills cache if no other method for the same producer has been called before
 private void FillCacheIfNeeded(string producerEmail)
 {
     if (!cachedItems.ContainsKey(producerEmail))
     {
         //TODO are we sure?
         cachedItems.Add(producerEmail, component.GetItems(producerEmail).ToDictionary((item) => item.ProductNumber));
     }
 }
 public IList <Item> GetItems(string producerEmail)
 {
     return(component.GetItems(producerEmail));
 }