private function setLocale($document, ClassMetadata $metadata, $locale)
{
if (!$this->isDocumentTranslatable($metadata)) {
return;
}
$oid = spl_object_hash($document);
if (empty($this->documentLocales[$oid])) {
$this->documentLocales[$oid] = array('original' => $locale);
}
$this->documentLocales[$oid]['current'] = $locale;
if ($metadata->localeMapping && (!$document instanceof Proxy || $document->__isInitialized())) {
$metadata->reflFields[$metadata->localeMapping]->setValue($document, $locale);
}
}