/**
  * @param array $record
  *
  * @return Event
  */
 private function translateRecordIntoEventMessage(array $record)
 {
     $identifier = new MessageIdentifier($record['event_id']);
     $payload = $this->eventSerializer->deserializePayload($record['event_payload'], Contract::createFromClassName($record['event_payload_type']));
     $metadata = $this->eventSerializer->deserializeMetadata($record['event_metadata'], Contract::createFromClassName($record['event_metadata_type']));
     $sequenceNumber = (int) $record['aggregate_version'];
     $eventMessage = new GenericEvent($this->aggregateRootIdentifier, $sequenceNumber, $identifier, $payload, $metadata);
     return $eventMessage;
 }
 /**
  * @param array $record
  *
  * @return Event
  */
 private function translateRecordIntoEventMessage(array $record)
 {
     $identifier = $this->messageIdentifierFactory->create($record['event_id']);
     $payload = $this->eventSerializer->deserializePayload($record['event_payload'], $this->contractFactory->createFromClassName($record['event_payload_type']));
     $metadata = $this->eventSerializer->deserializeMetadata($record['event_metadata'], $this->contractFactory->createFromClassName($record['event_metadata_type']));
     $sequenceNumber = (int) $record['aggregate_version'];
     //        $commitIdentifier = new CommitIdentifier($record['commit_id']);
     //        $committedAt = new \DateTime($record['committed_at']);
     $eventMessage = $this->eventFactory->create($this->aggregateRootIdentifier, $sequenceNumber, $identifier, $payload, $metadata, $this->contractFactory);
     //        $eventMessage->setCommitIdentifier($commitIdentifier);
     //        $eventMessage->setCommittedAt($committedAt);
     return $eventMessage;
 }