code: public static <K, V> Cache<K, V> unwrapCache(Cache<K, V> cache) {
        if (cache instanceof AbstractDelegatingCache) {
           return unwrapCache(((AbstractDelegatingCache<K, V>) cache).getDelegate());
        }
        return cache;
     }
docs: Fully unwraps a given cache returning the base cache.  Will unwrap all <b>AbstractDelegatingCache</b> wrappers.
  @param cache
  @param <K>
  @param <V>
  @return