public final function Apply(Domain $Domain, $Entity, PropertyData $PropertyData)
{
foreach ($PropertyData as $PropertyIdentifier => $Value) {
if (isset($this->DataProperties[$PropertyIdentifier])) {
$this->DataProperties[$PropertyIdentifier]->ReviveValue($Value, $Entity);
} else {
if (isset($this->EntityProperties[$PropertyIdentifier])) {
$this->EntityProperties[$PropertyIdentifier]->Revive($Domain, $Value, $Entity);
} else {
if (isset($this->CollectionProperties[$PropertyIdentifier])) {
$this->CollectionProperties[$PropertyIdentifier]->Revive($Domain, $Value, $Entity);
}
}
}
}
}