protected function getData($key)
    {
        $filename = $this->file($key);
        if (!file_exists($filename))
            return false;
        else {
            $data = $this->readFile($filename);

            if ($this->isExpired(null, $data))
                return false;
            else {
                 // if going to expire in 10 seconds, extend the cache and let this request refresh it
                $expire   = $data['expires'];
                $value    = $data['value'];
                $duration = $data['duration'];
                $now      = $this->DateFactory->newStorageDate();
                if (!empty($value) && $duration > 0 && $now->toUnix() > ($expire - 10) ) {
                    $this->put($key, $value, $duration);
                    return false;
                }

                return $data;
            }
        }

    }