Even though we do not support by now the setValue returning object itself, this code can be optimized to do something like this:

```php
if ( ! ($object instanceof Proxy && ! $object->__isInitialized())) {
    return parent::setValue($object, $value);
}

$originalInitializer = $object->__getInitializer();
$object->__setInitializer(null);

$return = parent::setValue($object, $value);

$object->__setInitializer($originalInitializer);

return $return;
```