public CoffeeFlavour GetFlavour(string flavour)
    {
        if (_cache.ContainsKey(flavour))
        {
            return(_cache[flavour]);
        }
        var coffeeFlavour = new CoffeeFlavour(flavour);

        ThreadPool.QueueUserWorkItem(AddFlavourToCache, coffeeFlavour);
        return(coffeeFlavour);
    }
 public bool Equals(CoffeeFlavour other)
 {
     return(string.Equals(_flavour, other._flavour));
 }
 public bool Equals(CoffeeFlavour other)
 {
     return string.Equals(_flavour, other._flavour);
 }
 public CoffeeFlavour GetFlavour(string flavour)
 {
     if (_cache.ContainsKey(flavour)) return _cache[flavour];
     var coffeeFlavour = new CoffeeFlavour(flavour);
     ThreadPool.QueueUserWorkItem(AddFlavourToCache, coffeeFlavour);
     return coffeeFlavour;
 }