@Override
    protected Object internalGet(String key) {
        try {
            Object result = cache.get(key);
            if (result instanceof CacheEntry) {
                // update entry's private TTL if needed.
                CacheEntry ce = (CacheEntry) result;
                if (ce.touch()) {
                    set(key, ce);
                }
            }
            return cloneCacheEntries ? CacheUtils.tryClone(result) : result;
        } catch (Exception e) {
            Throwable t = e.getCause();
            if (t instanceof CacheException.CacheEntryNotFoundException) {
                return null;
            } else {
                throw new RuntimeException(e);
            }
        }
    }
@Override
    protected Object internalGet(String key) {
        try {
            Object result = cache.get(key);
            if (result instanceof CacheEntry) {
                
                CacheEntry ce = (CacheEntry) result;
                if (ce.touch()) {
                    set(key, ce);
                }
            }
            return cloneCacheEntries ? CacheUtils.tryClone(result) : result;
        } catch (Exception e) {
            Throwable t = e.getCause();
            if (t instanceof CacheException.CacheEntryNotFoundException) {
                return null;
            } else {
                throw new RuntimeException(e);
            }
        }
    }
@ Override protected Object internalGet ( String key ) { try { Object result = cache . get ( key ) ; if ( result instanceof CacheEntry ) { // update entry's private TTL if needed. CacheEntry ce = ( CacheEntry ) result ; if ( ce . touch ( ) ) { set ( key , ce ) ; } } return cloneCacheEntries ? CacheUtils . tryClone ( result ) : result ; } catch ( Exception e ) { Throwable t = e . getCause ( ) ; if ( t instanceof CacheException . CacheEntryNotFoundException ) { return null ; } else { throw new RuntimeException ( e ) ; } } }
{@inheritDoc}
{