robe-quartz/src/main/java/io/robe/quartz/QuartzBundle.java
@Override
    public void run(T configuration, Environment environment) {
        QuartzConfiguration qConf = configuration.getQuartz();
        try {

            initializeScheduler(qConf.getProperties());
            collectAndScheduleJobs(qConf.getScanPackages());

            environment.lifecycle().manage(new ManagedQuartz(getOnStartJobs(), getOnStopJobs()));

        } catch (SchedulerException e) {
            LOGGER.error("SchedulerException:", e);
        }
    }
@Override
    public void run(T configuration, Environment environment) {
        QuartzConfiguration qConf = configuration.getQuartz();
        try {

            initializeScheduler(qConf.getProperties());
            collectAndScheduleJobs(qConf.getScanPackages());

            environment.lifecycle().manage(new ManagedQuartz(getOnStartJobs(), getOnStopJobs()));

        } catch (SchedulerException e) {
            LOGGER.error("SchedulerException:", e);
        }
    }
Initializes the environment. Forwards the configuration to Quartz.
Collect {@link JobInfoProvider} classes
Initializes scheduler
Collects all subtypes of {@link org.quartz.Job} annotated with {@link RobeJob} including {@link @RobeTrigger}'s
* Collects additional triggers from providers
* Registers them all for future control.

@param configuration the configuration object
@param environment   the service's {@link io.dropwizard.setup.Environment}
@throws Exception if something goes wrong