public override ConsoleMenuReport Execute()
        {
            ConsoleMenuOperation[] menuOperations = new ConsoleMenuOperation[3]
            {
                new SubProgram1.Operation1(),
                new SubProgram1.Operation2(),
                new SubProgram1.Operation3()
            };
            ConsoleMenu subMenu1 = new ConsoleMenu("Sub Program 1:", menuOperations);

            subMenu1.Run();
            return(new ConsoleMenuReport(this.ToString(), Request.WithoutInterruption));
        }
        public override ConsoleMenuReport Execute()
        {
            ExternalObject externalObject = new ExternalObject()
            {
                SomeInt = 50, SomeString = "Initial string"
            };

            ConsoleMenuOperation[] menuOperations = new ConsoleMenuOperation[3]
            {
                new SubProgram2.Operation_ChangeObjectsInt(externalObject),
                new SubProgram2.Operation_ChangeObjectsString(externalObject),
                new SubProgram2.Operation_CloseSubProgram2()
            };
            ConsoleMenu subMenu2 = new ConsoleMenu("Sub Program 2:", menuOperations, externalObject.ToString());

            subMenu2.Run();
            return(new ConsoleMenuReport("Sub program 2 has been closed.", this.ToString(), Request.Suspend));
        }