/**
  * @param array $data
  *
  * @return Message
  */
 public function enrichMetadata(array $data)
 {
     $metadata = $this->message->metadata()->mergeWith($data);
     return new self($this->aggregateRootIdentifier, $this->sequenceNumber, $this->identifier(), $this->payload(), $metadata);
 }
 public function testCanRetrieveItsMetadata()
 {
     $this->assertSame($this->metadata, $this->message->metadata());
 }
 /**
  * @param array $data
  *
  * @return Message
  */
 public function enrichMetadata(array $data)
 {
     $metadata = $this->message->metadata()->mergeWith($data);
     return new self($this->identifier(), $this->payload(), $metadata);
 }