protected function hasHit()/*# : bool */
    {
        if (!$this->trigger(CachePool::EVENT_HAS_BEFORE)) {
            return $this->setHit(false);
        }

        $meta = $this->pool->getDriver()->has($this->key);
        if (isset($meta['expire'])) {
            $this->expire = $meta['expire'];
        } else {
            return $this->setHit(false);
        }

        if (!$this->trigger(CachePool::EVENT_HAS_AFTER)) {
            return $this->setHit(false);
        }

        return $this->setHit(true);
    }