public function Revive(DomainDatabaseMap $DomainDatabaseMap, array $ResultRowArray, array $RevivalDataArray)
{
$this->ParentRowArrays[] = $ResultRowArray;
$RelatedRevivalDataArrayLoader = function ($ParentRowKey) use(&$DomainDatabaseMap, &$ResultRowArray) {
static $ParentKeyRelatedRevivalDataArraysMap = null;
if ($ParentKeyRelatedRevivalDataArraysMap === null) {
$ParentKeyRelatedRevivalDataArraysMap = $this->LoadAllRelatedRows($DomainDatabaseMap, $ResultRowArray);
}
return $ParentKeyRelatedRevivalDataArraysMap[$ParentRowKey];
};
foreach ($RevivalDataArray as $Key => $RevivalData) {
$Loader = function () use(&$RelatedRevivalDataArrayLoader, $Key) {
return $RelatedRevivalDataArrayLoader($Key);
};
$RevivalData[$this->Property] = $this->MakeMultipleLazyRevivalData($DomainDatabaseMap, $ResultRowArray[$Key], $Loader);
}
}