protected function removeDeletedReference($object, $propertyName, $propertyMetaData)
    {
        $previousValue = $this->persistenceSession->getCleanStateOfProperty($object, $propertyName);
        if ($previousValue !== null && is_array($previousValue) && isset($previousValue['value']['identifier'])
            && $this->reflectionService->getClassSchema($propertyMetaData['type'])->getModelType() === ClassSchema::MODELTYPE_ENTITY
            && $this->reflectionService->getClassSchema($propertyMetaData['type'])->isAggregateRoot() === false) {
            $object = $this->persistenceSession->getObjectByIdentifier($previousValue['value']['identifier']);
            if (!$this->visitedDuringPersistence->contains($object)) {
                $this->removeEntity($object);
            }
        }
    }
protected function removeDeletedReference($object, $propertyName, $propertyMetaData)
    {
        $previousValue = $this->persistenceSession->getCleanStateOfProperty($object, $propertyName);
        if ($previousValue !== null && is_array($previousValue) && isset($previousValue['value']['identifier'])
            && $this->reflectionService->getClassSchema($propertyMetaData['type'])->getModelType() === ClassSchema::MODELTYPE_ENTITY
            && $this->reflectionService->getClassSchema($propertyMetaData['type'])->isAggregateRoot() === false) {
            $object = $this->persistenceSession->getObjectByIdentifier($previousValue['value']['identifier']);
            if (!$this->visitedDuringPersistence->contains($object)) {
                $this->removeEntity($object);
            }
        }
    }
protected function removeDeletedReference ( $ object , $ propertyName , $ propertyMetaData ) { $ previousValue = $ this -> persistenceSession -> getCleanStateOfProperty ( $ object , $ propertyName ) ; if ( $ previousValue !== null && is_array ( $ previousValue ) && isset ( $ previousValue [ 'value' ] [ 'identifier' ] ) && $ this -> reflectionService -> getClassSchema ( $ propertyMetaData [ 'type' ] ) -> getModelType ( ) === ClassSchema :: MODELTYPE_ENTITY && $ this -> reflectionService -> getClassSchema ( $ propertyMetaData [ 'type' ] ) -> isAggregateRoot ( ) === false ) { $ object = $ this -> persistenceSession -> getObjectByIdentifier ( $ previousValue [ 'value' ] [ 'identifier' ] ) ; if ( ! $ this -> visitedDuringPersistence -> contains ( $ object ) ) { $ this -> removeEntity ( $ object ) ; } } }
Remove any unreferenced non aggregate root entity

@param object $object
@param string $propertyName
@param array $propertyMetaData
@return void
Remove any unreferenced non aggregate root entity