protected function matchMetadataWith(Message $streamEvent, array $metadata) { if (empty($metadata)) { return true; } $streamEventMetadata = $streamEvent->metadata(); foreach ($metadata as $key => $value) { if (!isset($streamEventMetadata[$key])) { return false; } if ($streamEventMetadata[$key] !== $value) { return false; } } return true; }