public static void Run()
        {
            Console.WriteLine(GetPatternDescription());
            GoToNextStep();

            while (true)
            {
                Console.Clear();
                Console.WriteLine(ExeucteFirstWhenConditionMatchesFlavorDescription());
                Console.WriteLine(ExecuteAllUntilConditionIsFalseFlavorDescription());
                Console.WriteLine(ExecuteAllFlavorDescritpion());
                Console.WriteLine("1: Money Spender (flavor 1)");
                Console.WriteLine("2: File Transfer (flavor 1)");
                Console.WriteLine("3: User Processor (flavor 1 and 3)");
                Console.WriteLine("4: pitfals");
                Console.WriteLine("5: Poker Game (flavor 1)");
                Console.Write("0: exit\r\n>");

                var keyChar = GoToNextStep();

                switch (keyChar)
                {
                case '1':
                    CheckAuthority moneySpender = new CheckAuthority();

                    Console.WriteLine(moneySpender.GetDescriptionOfExample());
                    GoToNextStep();

                    moneySpender.PrintHowMuchEachCanSpend();
                    moneySpender.SpendMoney();
                    break;

                case '2':
                    TransferFilesManager transferFilesManager = new TransferFilesManager();

                    Console.WriteLine(transferFilesManager.GetDescriptionOfExample());
                    GoToNextStep();
                    transferFilesManager.TransferFiles();
                    break;

                case '3':
                    UserProcessor userProcessor = new UserProcessor();
                    userProcessor.DoStuff();
                    break;

                case '4':
                    Console.WriteLine(GetPitfalls());
                    GoToNextStep();
                    break;

                case '5':
                    PokerGame poke = new PokerGame();
                    poke.newGame();
                    break;
                }

                if (keyChar == '0')
                {
                    break;
                }
            }
        }