public function update($operationType, Common\ISource $source) { if ($this->operationType === $operationType && $this->source === $source) { return $this; } return new self($operationType, $source); }