docs: public void evictExpiredElements() {
          long evictedTotal = 0;
          final long startTime;
          final String[] cacheNames;
  
          if (!evictLock.tryLock()) {
              // Lock is already held, skip eviction
              return;
          }
          try {
              startTime = System.nanoTime();
              cacheNames = this.cacheManager.getCacheNames();
  
              for (String cacheName : cacheNames) {
                  final Ehcache cache = this.cacheManager.getEhcache(cacheName);
                  if (null != cache) {
                      final long preEvictSize = cache.getMemoryStoreSize();
                      final long evictStart = System.nanoTime();
                      cache.evictExpiredElements();
                      if (logger.isDebugEnabled()) {
                          final long evicted = preEvictSize - cache.getMemoryStoreSize();
                          evictedTotal += evicted;
                          logger.debug(
                                  "Evicted "
                                          + evicted
                                          + " elements from cache '"
                                          + cacheName
                                          + "' in "
                                          + TimeUnit.NANOSECONDS.toMillis(
                                                  System.nanoTime() - evictStart)
                                          + " ms");
                      }
                  } else if (logger.isDebugEnabled()) {
                      logger.debug("No cache found with name " + cacheName);
                  }
              }
          } finally {
              this.evictLock.unlock();
          }
  
          if (logger.isDebugEnabled()) {
              logger.debug(
                      "Evicted "
                              + evictedTotal
                              + " elements from "
                              + cacheNames.length
                              + " caches in "
                              + this.cacheManager.getName()
                              + " in "
                              + TimeUnit.NANOSECONDS.toMillis(System.nanoTime() - startTime)
                              + " ms");
          }
      }