IEnumerable <Ingredient> CollectIngredients(Ingredients.Ingredients ingreds) { var ingredients = new List <Ingredient>(); if (ingreds.HasFlag(Ingredients.Ingredients.Bun)) { ingredients.Add(new Bun()); } if (ingreds.HasFlag(Ingredients.Ingredients.Patty)) { ingredients.Add(new Patty()); } if (ingreds.HasFlag(Ingredients.Ingredients.DoublePatty)) { ingredients.Add(new Patty()); ingredients.Add(new Patty()); } if (ingreds.HasFlag(Ingredients.Ingredients.Lettuce)) { ingredients.Add(new Lettuce()); } if (ingreds.HasFlag(Ingredients.Ingredients.Tomato)) { ingredients.Add(new Tomato()); } if (ingreds.HasFlag(Ingredients.Ingredients.Cheese)) { ingredients.Add(new Cheese()); } if (ingreds.HasFlag(Ingredients.Ingredients.DoubleCheese)) { ingredients.Add(new Cheese()); ingredients.Add(new Cheese()); } if (ingreds.HasFlag(Ingredients.Ingredients.Ketchup)) { ingredients.Add(new Ketchup()); } if (ingreds.HasFlag(Ingredients.Ingredients.Fries)) { ingredients.Add(new Fries()); } return(ingredients); }