public function __set($name, $value)
{
switch ($name) {
case 'firstElementChild':
case 'lastElementChild':
throw new \BadMethodCallException(sprintf('Can not write readonly property %s::$%s.', get_class($this), $name));
}
// @codeCoverageIgnoreStart
$this->setParentProperty($name, $value);
}