ddth-cache-adapter-core/src/main/java/com/github/ddth/cacheadapter/AbstractCache.java
@Override
    public Object get(String key, ICacheLoader cacheLoader) {
        Object value = internalGet(key);
        boolean fromCacheLoader = false;
        if (value == null && cacheLoader != null) {
            try {
                value = cacheLoader.load(key);
                fromCacheLoader = true;
            } catch (Exception e) {
                throw e instanceof CacheException ? (CacheException) e : new CacheException(e);
            }
        }
        if (value instanceof CacheEntry) {
            CacheEntry ce = (CacheEntry) value;
            value = ce.getValue();
        }
        if (fromCacheLoader || value == null) {
            stats.miss();
        } else {
            stats.hit();
        }
        return value;
    }
@Override
    public Object get(String key, ICacheLoader cacheLoader) {
        Object value = internalGet(key);
        boolean fromCacheLoader = false;
        if (value == null && cacheLoader != null) {
            try {
                value = cacheLoader.load(key);
                fromCacheLoader = true;
            } catch (Exception e) {
                throw e instanceof CacheException ? (CacheException) e : new CacheException(e);
            }
        }
        if (value instanceof CacheEntry) {
            CacheEntry ce = (CacheEntry) value;
            value = ce.getValue();
        }
        if (fromCacheLoader || value == null) {
            stats.miss();
        } else {
            stats.hit();
        }
        return value;
    }
{@inheritDoc}