/**
  * The constructor has proteceted access, because the generation of jobs should be done in a
  * central way by the class 'SimpleScheduler'
  *
  * @param theJobController The controller, that controls all job executions
  * @param theJobOwner The owner of the job
  * @param theJobName The name of the job
  * @param iMinutes theperiod between each job
  * @throws SchedulerException
  */
 protected SchedulerMethodJobMinute(
     SimpleScheduler theJobController,
     SchedulerEventListener theJobOwner,
     String theJobName,
     FixedPeriodJobTrigger trigger)
     throws SchedulerException {
   super(theJobController, theJobOwner, theJobName);
   setTrigger(trigger);
   m_iMs = trigger.getTimeIntervalInMillis();
 }
 @Override
 public void visit(FixedPeriodJobTrigger trigger) {
   switch (trigger.getTimeUnit()) {
     case SECOND:
       quartzTrigger = TriggerUtils.makeSecondlyTrigger(trigger.getTimeInterval());
       break;
     case MINUTE:
       quartzTrigger = TriggerUtils.makeMinutelyTrigger(trigger.getTimeInterval());
       break;
     case HOUR:
       quartzTrigger = TriggerUtils.makeHourlyTrigger(trigger.getTimeInterval());
       break;
   }
   if (trigger.getStartDate() != null) {
     quartzTrigger.setStartTime(trigger.getStartDate());
   } else {
     quartzTrigger.setStartTime(quartzTrigger.getFireTimeAfter(new Date()));
   }
 }