code: @Override
      public void storeJobAndTrigger(final JobDetail newJob, final OperableTrigger newTrigger) throws ObjectAlreadyExistsException, JobPersistenceException {
          try {
              doWithLock(new LockCallbackWithoutResult() {
                  @Override
                  public Void doWithLock(JedisCommands jedis) throws JobPersistenceException {
                      storage.storeJob(newJob, false, jedis);
                      storage.storeTrigger(newTrigger, false, jedis);
                      return null;
                  }
              });
          } catch (ObjectAlreadyExistsException e) {
              logger.info("Job and / or trigger already exist in storage.", e);
              throw e;
          } catch (Exception e) {
              logger.error("Could not store job.", e);
              throw new JobPersistenceException(e.getMessage(), e);
          }
      }
docs: Store the given <code>{@link org.quartz.JobDetail}</code> and <code>{@link org.quartz.Trigger}</code>.
  
  @param newJob     The <code>JobDetail</code> to be stored.
  @param newTrigger The <code>Trigger</code> to be stored.
  @throws org.quartz.ObjectAlreadyExistsException if a <code>Job</code> with the same name/group already
  exists.