public JedisTaskExecutor obtainJedisTaskExecutor(JedisTaskExecutor jedisTaskExecutor) {
    if (jedisTaskExecutor != null) {
      return jedisTaskExecutor;
    }

    GenericObjectPoolConfig poolConfig =
        RateLimiterConfig.instance().getRedisConfig().getPoolConfig();
    String address = RateLimiterConfig.instance().getRedisConfig().getAddress();
    int timeout = RateLimiterConfig.instance().getRedisConfig().getTimeout();
    return new DefaultJedisTaskExecutor(address, timeout, poolConfig);
  }
Obtain {@link JedisTaskExecutor}

@param jedisTaskExecutor the Jedis wrapper which can be null.
@return the input parameter {@code jedisTaskExecutor} if not null, otherwise return a new
        {@link JedisTaskExecutor}.
src/main/java/com/eudemon/ratelimiter/context/RateLimiterBeansFactory.java