code: @Override
    public F getJobLockFactory(final Config sysConfig, final Optional<Logger> log) {
      final Config factoryConfig = getFactoryConfig(sysConfig);
      try {
        return _factoryCache.get(factoryConfig, new Callable<F>() {
          @Override public F call() throws Exception {
            return createFactoryInstance(log, sysConfig, factoryConfig);
          }
        }) ;
      } catch (ExecutionException e) {
        throw new RuntimeException("Unable to create a job lock factory: " + e, e);
      }
    }
docs: {@inheritDoc}