protected function isExpired($key, $storageArray = null)
    {
        if (!empty($key)) {
            // Item is expired if key doesn't exist
            if (!$this->containsKey($key))
                return true;

            $storageArray = $this->readFile($this->file($key));
        }

        if (is_array($storageArray)) {
            if ($storageArray['expires'] >= time() && $storageArray['duration'] > 0)
                return true;
            else
                return false;
        } else {
            throw new CacheException("isExpired called incorrectly. key = '{$key}', storageArray = '{$storageArray}'");
        }
    }