protected function fetch($token)
{
if (!$this->exists($token)) {
throw new TokenNotFoundException($token);
}
$cacheEntry = explode("\n", $this->dataCache->fetch($token), 2);
return $this->getProvider($cacheEntry[0])->deserialize($cacheEntry[1], $cacheEntry[0]);
}