docs: public void execute(JobExecutionContext context) {
  
          JobDataMap jobData = context.getJobDetail().getJobDataMap();
  
          CmsScheduledJobInfo jobInfo = (CmsScheduledJobInfo)jobData.get(SCHEDULER_JOB_INFO);
  
          if (jobInfo == null) {
              LOG.error(
                  Messages.get().getBundle().key(
                      Messages.LOG_INVALID_JOB_1,
                      ((JobDetailImpl)context.getJobDetail()).getFullName()));
              // can not continue
              return;
          }
          // update the execution times in job info
          jobInfo.setPreviousFireTime(context.getFireTime());
          jobInfo.setNextFireTime(context.getNextFireTime());
          executeJob(jobInfo);
      }