/**
  * {@inheritDoc}
  */
 public function __wakeup()
 {
     if (!$this->__isInitialized__) {
         $this->__initializer__ = function (Resource $proxy) {
             $proxy->__setInitializer(null);
             $proxy->__setCloner(null);
             $existingProperties = get_object_vars($proxy);
             foreach ($proxy->__getLazyProperties() as $property => $defaultValue) {
                 if (!array_key_exists($property, $existingProperties)) {
                     $proxy->{$property} = $defaultValue;
                 }
             }
         };
     }
     parent::__wakeup();
 }