/** * @param Metadata $metadata * @return static */ public function addMetadata(Metadata $metadata) { $metadata = $this->metadata->mergedWith($metadata); if ($metadata === $this->metadata) { return $this; } $message = clone $this; $message->metadata = $metadata; return $message; }