public function update($name, $typeHint, Expression $defaultValue = null, $isPassedByReference, $isVariadic)
{
if ($this->name === $name && $this->typeHint === $typeHint && $this->defaultValue === $defaultValue && $this->isPassedByReference === $isPassedByReference && $this->isVariadic === $isVariadic) {
return $this;
}
return new self($name, $typeHint, $defaultValue, $isPassedByReference, $isVariadic);
}