public function adoptMasterDefinition(Object\ClassDefinition\Data $masterDefinition)
{
$vars = get_object_vars($this);
$protectedFields = ["noteditable", "invisible"];
foreach ($vars as $name => $value) {
if (!in_array($name, $protectedFields)) {
unset($this->{$name});
}
}
foreach ($masterDefinition as $name => $value) {
if (!in_array($name, $protectedFields)) {
$this->{$name} = $value;
}
}
}