/// <summary>
        /// Prints every item on the menu
        /// </summary>
        public void PrintMenu()
        {
            //Idea 1, just use a loop for each menu
            #region //idea 1 - Commented Out

            /*
             * Console.WriteLine("==== Printing breakfast menu ====");
             * for(int i = 0; i < breakfastItems.Count; i++)
             * {
             *  MenuItem menuItem = (MenuItem)breakfastItems[i];
             *  Console.WriteLine("{0} ${1} - {2}",menuItem.Name, menuItem.Price,menuItem.Description);
             * }
             * Console.WriteLine("\n==== Printing lunch menu ====");
             * for (int i = 0; i < lunchItems.Length; i++)
             * {
             *  MenuItem menuItem = lunchItems[i];
             *  if(lunchItems[i] != null)
             *  Console.WriteLine("{0} ${1} - {2}", menuItem.Name, menuItem.Price, menuItem.Description);
             * }
             */
            #endregion
            //Idea 2, Iterator design pattern
            #region //Idea 2
            Iterator pancakeIterator = pancakeHouseMenu.CreateIterator();
            Iterator dinerIterator   = dinerMenu.CreateIterator();
            Console.WriteLine("==== Breakfast Menu ====");
            PrintMenu(pancakeIterator);
            Console.WriteLine("\n==== Lunch Menu ====");
            PrintMenu(dinerIterator);
            #endregion
        }
        public void PrintMenu()
        {
            IIterator pancakeIterator = pancakeHouseMenu.CreateIterator();
            IIterator dinerIterator   = dinerMenu.CreateIterator();

            Console.WriteLine("MENU\n----\nBREAKFAST");
            PrintMenu(pancakeIterator);
            Console.WriteLine("\nLUNCH");
            PrintMenu(dinerIterator);
        }