public function update(Functions\ElementProjection $predicateFunction) { if ($this->predicateFunction === $predicateFunction) { return $this; } return new self($predicateFunction); }
public function visitRemoveWhere(Operations\RemoveWhere $operation) { return parent::visitRemoveWhere($operation->update($this->expressionProcessor->processFunction($operation->getPredicateFunction()))); }