protected function createCacheItem(/*# string */ $key)/*# : CacheItemExtendedInterface */
    {
        if (is_callable($this->item_factory)) {
            $func = $this->item_factory;
            $item = $func($key, $this);
        } else {
            $item = new CacheItem($key, $this);
        }

        return $item;
    }