docs: @Override
      public synchronized void cacheJwt(Jwt.Key cachedKey, Jwt jwt) {
          //update the expire time
          LongestExpireCacheKey leCachKey = new LongestExpireCacheKey(cachedKey);
          leCachKey.setExpiry(jwt.getExpire());
          if(cachedJwts.size() >= capacity) {
              if(expiryQueue.contains(leCachKey)) {
                  expiryQueue.remove(leCachKey);
              } else {
                  cachedJwts.remove(expiryQueue.peek().getCacheKey());
                  expiryQueue.poll();
              }
          } else {
              if(expiryQueue.contains(leCachKey)) {
                  expiryQueue.remove(leCachKey);
              }
          }
          expiryQueue.add(leCachKey);
          cachedJwts.put(cachedKey, jwt);
      }