/**
  * @param StackItemInterface $item
  * @return $this
  */
 public function add(StackItemInterface $item)
 {
     $this->currentExpression->add($item);
     return $this;
 }
 /**
  * @param StackExpression $set
  */
 private function validateSet(StackExpression $set)
 {
     // Set should contain 3 items: "column_name   operator   value", EG. "level > 200"
     if ($set->count() !== 3) {
         throw new InvalidExpressionException($set->asString());
     }
     $arr = $set->get();
     if (!$arr[0] instanceof Literal || !$arr[1] instanceof Operator || !$arr[2] instanceof Literal) {
         throw new InvalidExpressionException($set->asString());
     }
 }