docs: public void start(J project, boolean newInstance) {
          this.job = project;
  
          try {// reparse the tabs with the job as the hash
              if (spec != null) {
                  this.tabs = CronTabList.create(spec, Hash.from(project.getFullName()));
              } else {
                  LOGGER.log(Level.WARNING, "The job {0} has a null crontab spec which is incorrect", job.getFullName());
              }
          } catch (ANTLRException e) {
              // this shouldn't fail because we've already parsed stuff in the constructor,
              // so if it fails, use whatever 'tabs' that we already have.
              LOGGER.log(Level.WARNING, String.format("Failed to parse crontab spec %s in job %s", spec, project.getFullName()), e);
          }
      }