public IBeverage ToBrew()
        {
            IBeverage[] finishedDrinks = new IBeverage[] {
                new Latte(),
                new Americano(),
                new Cappuccino(),
                new Macchiato(),
                new Mocha(),
                new Espresso()
            };

            IBeverage finishedDrink =
                finishedDrinks.FirstOrDefault(f =>
                                              Enumerable.SequenceEqual(f.GetIngredients.OrderBy(i => i), this.Ingredients.OrderBy(i => i))
                                              );

            finishedDrink = (finishedDrink == null) ? new UnknownDrink() : finishedDrink;

            Console.WriteLine("Brew complete.");
            Console.WriteLine(finishedDrink.GetName());

            return(finishedDrink);
        }