docs: private synchronized void clearAccordingToSuffix(String suffix, boolean entriesOnly) {
  
          Set<String> keys = synchronizedCopyKeys(m_keyCache);
          Iterator<String> i = keys.iterator();
          while (i.hasNext()) {
              String s = i.next();
              if (s.endsWith(suffix)) {
                  CmsFlexCacheVariation v = m_keyCache.get(s);
                  if (entriesOnly) {
                      // Clear only entry
                      m_size -= v.m_map.size();
                      Iterator<I_CmsLruCacheObject> allEntries = v.m_map.values().iterator();
                      while (allEntries.hasNext()) {
                          I_CmsLruCacheObject nextObject = allEntries.next();
                          allEntries.remove();
                          m_variationCache.remove(nextObject);
                      }
                      v.m_map = new Hashtable<String, I_CmsLruCacheObject>(INITIAL_CAPACITY_VARIATIONS);
                  } else {
                      // Clear key and entry
                      m_size -= v.m_map.size();
                      Iterator<I_CmsLruCacheObject> allEntries = v.m_map.values().iterator();
                      while (allEntries.hasNext()) {
                          I_CmsLruCacheObject nextObject = allEntries.next();
                          allEntries.remove();
                          m_variationCache.remove(nextObject);
                      }
  
                      v.m_map = null;
                      v.m_key = null;
                      m_keyCache.remove(s);
                  }
              }
          }
          if (LOG.isInfoEnabled()) {
              LOG.info(
                  Messages.get().getBundle().key(
                      Messages.LOG_FLEXCACHE_CLEAR_HALF_2,
                      suffix,
                      Boolean.valueOf(entriesOnly)));
          }
      }