code: @Override
      public void storeJob(final JobDetail newJob, final boolean replaceExisting) throws ObjectAlreadyExistsException, JobPersistenceException {
          try {
              doWithLock(new LockCallbackWithoutResult() {
                  @Override
                  public Void doWithLock(JedisCommands jedis) throws JobPersistenceException {
                      storage.storeJob(newJob, replaceExisting, jedis);
                      return null;
                  }
              });
          } catch (ObjectAlreadyExistsException e) {
              logger.info("Job hash already exists");
              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>.
  
  @param newJob          The <code>JobDetail</code> to be stored.
  @param replaceExisting If <code>true</code>, any <code>Job</code> existing in the
  <code>JobStore</code> with the same name & group should be
  over-written.
  @throws org.quartz.ObjectAlreadyExistsException if a <code>Job</code> with the same name/group already
  exists, and replaceExisting is set to false.