/**
  * Return product type for quote/order item
  *
  * @param \Magento\Framework\DataObject $item
  * @return string
  */
 protected function _getItemType(\Magento\Framework\DataObject $item)
 {
     if ($item->getOrderItem()) {
         $type = $item->getOrderItem()->getProductType();
     } elseif ($item instanceof \Magento\Quote\Model\Quote\Address\Item) {
         $type = $item->getQuoteItem()->getProductType();
     } else {
         $type = $item->getProductType();
     }
     return $type;
 }
 /**
  * Retrieve rendered column html content
  *
  * @param \Magento\Framework\DataObject $item
  * @param string $column the column key
  * @param string $field the custom item field
  * @return string
  */
 public function getColumnHtml(\Magento\Framework\DataObject $item, $column, $field = null)
 {
     if ($item->getOrderItem()) {
         $block = $this->getColumnRenderer($column, $item->getOrderItem()->getProductType());
     } else {
         $block = $this->getColumnRenderer($column, $item->getProductType());
     }
     if ($block) {
         $block->setItem($item);
         if ($field !== null) {
             $block->setField($field);
         }
         return $block->toHtml();
     }
     return ' ';
 }