@Override
        public void actionPerformed(ActionEvent e) {
            int selectedGameTypeIndex = gameTypeList.getSelectedIndex();
            PokerGameType gameType = allGameTypesArray[selectedGameTypeIndex];
            int selectedNumberOfHands = Integer.parseInt((String) numberOfHandsList.getSelectedItem());

            if (gameType == PokerGameType.SEVEN_STUD && selectedNumberOfHands > 7) {
                createErrorWindow("Seven card stud simulations can have a maximum of seven starting hands.", 580, 140);
                return;
            }
            NumberOfSimulationsInputValidator validator = new NumberOfSimulationsInputValidator();
            
            Integer selectedNumberOfSimulations = validator.parseInput(numberOfSimulations.getText());
            
            if (selectedNumberOfSimulations == null) {
                validator.createErrorWindow(mainDialog);
                return;                
            }
            
            SimulationStarter starter = new SimulationStarter(gui, gameType, 
                    selectedNumberOfHands, selectedNumberOfSimulations);
            SwingUtilities.invokeLater(starter);
            mainDialog.dispose();
        }