/**
  * @param SearchQueryExprValueBase $item
  * @param string|null $itemName
  * @return string
  * @throws \InvalidArgumentException
  */
 protected function processItem(SearchQueryExprValueBase $item, $itemName = null)
 {
     if ($itemName === null && $item instanceof SearchQueryExprNamedItemInterface) {
         $itemName = $item->getName();
     }
     $value = $item->getValue();
     return $value instanceof SearchQueryExpr ? $this->processSubQueryValue($itemName, $value) : $this->processSimpleValue($itemName, $value, $item->getMatch());
 }
 /**
  * @param string $name The property name
  * @param string|SearchQueryExpr $value The word phrase
  * @param int $match The match type. One of SearchQueryMatch::* values
  */
 public function __construct($name, $value, $match)
 {
     parent::__construct($value, $match);
     $this->name = $name;
 }