@Override
    protected void launcher() throws IOException, ParseException {
        initializeRandom(randseed);
        final MealyAutomaton automaton = loadAutomaton(automatonFilepath);

		String scenarios = null;
		if (cover) {
			if (scenarioNumber != 0 || minLength != 0 || maxLength != 0) {
				System.err.println("With --cover option on, --count, --minLength, --maxLength options are not available");
				return;
			}

            scenarios = sumLength == 0
                    ? ScenarioGenerator.generateScenariosWithBFS(automaton)
                    : ScenarioGenerator.generateScenariosWithBFS(automaton, sumLength, random());
		} else {
			if (scenarioNumber == 0) {
				System.err.println("With --cover option OFF, --count option must be defined");
				return;				
			}
			
			if (maxLength == 0) {
				maxLength = automaton.stateCount();
			}

			if (sumLength == 0) {
				sumLength = (maxLength + minLength) * scenarioNumber / 2;
			}

			scenarios = ScenarioGenerator.generateScenarios(automaton, scenarioNumber,
                    minLength, maxLength, sumLength, random());
		}
		
		if (scenarioFilepath != null) {
            saveToFile(scenarios, scenarioFilepath);
		} else {
			System.out.println(scenarios);
		}
	}