/**
  * {@inheritdoc}
  */
 public function getCustomOptions(\Magento\Catalog\Model\Product\Configuration\Item\ItemInterface $item)
 {
     $pluginInfo = $this->pluginList->getNext($this->subjectType, 'getCustomOptions');
     if (!$pluginInfo) {
         return parent::getCustomOptions($item);
     } else {
         return $this->___callPlugins('getCustomOptions', func_get_args(), $pluginInfo);
     }
 }
 /**
  * Reads attributes from the item
  *
  * @param $reqdAttributeNames
  * @param $item
  * @return array
  */
 protected function populateCustomOptions($item)
 {
     $option_values = [];
     $options = $this->productConfiguration->getCustomOptions($item);
     $value = '';
     foreach ($options as $customOption) {
         $value .= $customOption['value'];
     }
     if ($value != '') {
         $option_values[] = ['name' => 'shipperhq_custom_options', 'value' => $value];
         return $option_values;
     }
     return false;
 }
 /**
  * Retrieves product options list
  *
  * @param ItemInterface $item
  * @return array
  */
 public function getOptions(ItemInterface $item)
 {
     return array_merge($this->getBundleOptions($item), $this->productConfiguration->getCustomOptions($item));
 }