code: CmsFlexCacheEntry get(CmsFlexRequestKey key) {
  
          if (!isEnabled()) {
              // cache is disabled
              return null;
          }
          Object o = m_keyCache.get(key.getResource());
          if (o != null) {
              // found a matching key in the cache
              CmsFlexCacheVariation v = (CmsFlexCacheVariation)o;
              String variation = v.m_key.matchRequestKey(key);
  
              if (CmsStringUtil.isEmpty(variation)) {
                  // requested resource is not cacheable
                  return null;
              }
              CmsFlexCacheEntry entry = (CmsFlexCacheEntry)v.m_map.get(variation);
              if (entry == null) {
                  // no cache entry available for variation
                  return null;
              }
              if (entry.getDateExpires() < System.currentTimeMillis()) {
                  // cache entry avaiable but expired, remove entry
                  m_variationCache.remove(entry);
                  return null;
              }
              // return the found cache entry
              return entry;
          } else {
              return null;
          }
      }
docs: Looks up a specific entry in the cache.<p>
  
  In case a found entry has a timeout set, it will be checked upon lookup.
  In case the timeout of the entry has been reached, it will be removed from
  the cache (and null will be returned in this case).<p>
  
  @param key The key to look for in the cache
  @return the entry found for the key, or null if key is not in the cache