@Override
    public void actionPerformed(ActionEvent e) {

        final boolean ok = viewMutantsConfiguration.getLiteralOmission().isSelected()
                || viewMutantsConfiguration.getLiteralNegation().isSelected()
                || viewMutantsConfiguration.getClauseOmission().isSelected()
                || viewMutantsConfiguration.getClauseNegation().isSelected()
                || viewMutantsConfiguration.getOperatorAnd().isSelected()
                || viewMutantsConfiguration.getOperatorOr().isSelected();

        if (ok) {

            Runnable code = new Runnable() {
                @Override
                public void run() {
                    viewMutantsConfiguration.setVisible(false);
                }
            };
            if (SwingUtilities.isEventDispatchThread()) {
                code.run();
            } else {
                SwingUtilities.invokeLater(code);
            }

            final Thread t = new Thread(new Runnable() {
                @Override
                public void run() {

                    try {

                        model.evaluateMutationScore(viewMutantsConfiguration.getLiteralOmission().isSelected(),
                                viewMutantsConfiguration.getLiteralNegation().isSelected(),
                                viewMutantsConfiguration.getClauseOmission().isSelected(),
                                viewMutantsConfiguration.getClauseNegation().isSelected(),
                                viewMutantsConfiguration.getOperatorAnd().isSelected(),
                                viewMutantsConfiguration.getOperatorOr().isSelected(), false);


                    } catch (Exception ex) {
                        Logger.getLogger(ControllerRunCoverage.class.getName()).log(Level.SEVERE, null, ex);
                    }

                }
            });
            t.start();



        } else {
            Runnable code = new Runnable() {
                @Override
                public void run() {
                    view.displayErrorMessageNoMutants();
                }
            };
            if (SwingUtilities.isEventDispatchThread()) {
                code.run();
            } else {
                SwingUtilities.invokeLater(code);
            }
        }

    }