public function unmarshal($value, $object = null, $params = [])
{
$lf = new Object\Localizedfield();
if (is_array($value)) {
$items = [];
foreach ($value as $language => $languageData) {
$languageResult = [];
foreach ($languageData as $elementName => $elementData) {
$fd = $this->getFielddefinition($elementName);
if (!$fd) {
// class definition seems to have changed
Logger::warn("class definition seems to have changed, element name: " . $elementName);
continue;
}
$dataFromResource = $fd->unmarshal($elementData, $object, ["raw" => true]);
$languageResult[$elementName] = $dataFromResource;
}
$items[$language] = $languageResult;
}
$lf->setItems($items);
}
return $lf;
}