public static void main(String[] args) throws IOException
    {
        Menu.MenuBranch branch;
        String fileName;
        branch = Menu.ShowMainMenu();
        
        switch(branch)
        {
            case EXPERIMENT:
                Menu.MenuExperiment experimentType;

                experimentType = Menu.ShowExperimentMenu();
                
                switch(experimentType)
                {
                    case ALL:
                        fileName = getFilename("Enter the base filename: ");
                        RunAllExperiments(fileName);
                        break;
                    case PREDEFINED:
                        int experimentChoice;
                        Menu.ShowExperiments();
                        experimentChoice = Menu.getMenuItem("Enter experiment to run: ", 25);
                        fileName = getFilename("Enter the base filename: ");
                        RunPredefinedExperiment(experimentChoice, fileName);
                        break;
                    case CUSTOM:
                        RunCustomExperiment();
                        break;
                }
                break;
            case UNITTEST:
                Menu.MenuUnitTest unitTestType;

                unitTestType = Menu.ShowUnitTestMenu();
                switch(unitTestType)
                {
                    case ALL:
                        TestProject.testAll();
                        break;
                    case SORTS:
                        TestProject.testAllSorts();
                        break;
                    case UTILITIES:
                        TestProject.testAllUtilities();
                        break;
                    case ONE:
                        int unitTestToRun;
                        Menu.ShowUnitTests();
                        unitTestToRun = Menu.getMenuItem("Enter Unit Test to run: ", 21);
                        
                        TestProject.testOne(unitTestToRun);
                        break;
                }
                break;
        }
        
    }