private Trigger createTrigger(
     final ScheduledJobDetail scheduledJobDetails, final JobDetail jobDetail) {
   try {
     final MifosPlatformTenant tenant = ThreadLocalContextUtil.getTenant();
     final CronTriggerFactoryBean cronTriggerFactoryBean = new CronTriggerFactoryBean();
     cronTriggerFactoryBean.setName(scheduledJobDetails.getJobName() + "Trigger" + tenant.getId());
     cronTriggerFactoryBean.setJobDetail(jobDetail);
     final JobDataMap jobDataMap = new JobDataMap();
     jobDataMap.put(SchedulerServiceConstants.TENANT_IDENTIFIER, tenant.getTenantIdentifier());
     cronTriggerFactoryBean.setJobDataMap(jobDataMap);
     final TimeZone timeZone = TimeZone.getTimeZone(tenant.getTimezoneId());
     cronTriggerFactoryBean.setTimeZone(timeZone);
     cronTriggerFactoryBean.setGroup(scheduledJobDetails.getGroupName());
     cronTriggerFactoryBean.setCronExpression(scheduledJobDetails.getCronExpression());
     cronTriggerFactoryBean.setPriority(scheduledJobDetails.getTaskPriority());
     cronTriggerFactoryBean.afterPropertiesSet();
     return cronTriggerFactoryBean.getObject();
   } catch (ParseException e) {
     throw new RuntimeException(e);
   }
 }