protected function mergeExistingRecord(Record $record, DataDimensions $dataDimensions) { if ($record->getID() != '') { $existingRecord = $this->getMultiViewRecord($record->getId(), $record->getContentTypeName(), $dataDimensions); if ($existingRecord) { $record->setRevision($existingRecord->getRevision()); $existingProperties = $existingRecord->getProperties(); $mergedProperties = array_merge($existingProperties, $record->getProperties()); $mergedRecord = clone $record; $mergedRecord->setProperties($mergedProperties); return $mergedRecord; } } return $record; }