public static boolean isAllowed(RateLimiterDescriptor descriptor) {
   if (descriptor.getPermitsPerSecond() <= 0) {
     LOGGER.trace("isAllowed : rate limiting disabled");
     return true;
   }
   try {
     LOGGER.trace("isAllowed : getting ratelimiter for descriptor={}", descriptor);
     RateLimiter r = getOrCreate(descriptor);
     LOGGER.trace("isAllowed : retireved ratelimiter={}, rate={}", r, r.getRate());
     return r.tryAcquire();
   } catch (ExecutionException e) {
     LOGGER.error(
         "isAllowed : Caught exception getting RateLimiter for descriptor : {}", descriptor, e);
     return false;
   }
 }
 public RateLimiter load(RateLimiterDescriptor descriptor) {
   return RateLimiter.create(descriptor.getPermitsPerSecond());
 }