/**
  * @param $itemInfo
  * @return Item
  */
 public function parseItem($itemInfo)
 {
     if (empty($itemInfo) || !is_array($itemInfo)) {
         throw new \InvalidArgumentException('ItemInfo should be filled array!');
     }
     $key = md5(json_encode($itemInfo));
     if (isset(self::$itemCache[$key]) && !empty(self::$itemCache[$key])) {
         return self::$itemCache[$key];
     }
     \Debugbar::startMeasure('parseItem', 'Парсим предмет ' . $itemInfo['name']);
     /** @var Item $item */
     $item = ItemStorage::createItem($itemInfo);
     if ($itemInfo['tradable'] !== '0') {
         try {
             /** @var $price ItemPrice */
             $price = $this->priceHelper->getItemPrice($item);
             $item->setPrice($price);
         } catch (\Exception $e) {
             \Log::debug($e->getMessage());
         }
     }
     \Debugbar::stopMeasure('parseItem');
     return $item;
 }