/**
* {@inheritdoc}
*/
public function set(CacheableItemInterface $cacheableItem)
{
$item = $this->getCacheItem($cacheableItem->getCacheType(), $cacheableItem->getCacheName());
$data = $item->get();
if ($item->isMiss()) {
$item->lock();
$this->getPool()->save($item->set($cacheableItem));
} else {
$cacheableItem = $data;
}
return $cacheableItem;
}