/**
  * {@inheritdoc}
  */
 public function unloadObject(IObject $object)
 {
     $collectionName = $object->getCollection()->getName();
     if (isset($this->objectsById[$collectionName][$object->getId()])) {
         unset($this->objectsById[$collectionName][$object->getId()]);
     }
     if (isset($this->objectsByGuid[$object->getGUID()])) {
         unset($this->objectsByGuid[$object->getGUID()]);
     }
     $this->getObjectPersister()->clearObjectState($object);
     return $this;
 }