/** @inheritdoc */ public function persist(IEntity $entity, $withCascade = true) { $queue = PersistenceHelper::getCascadeQueue($entity, $this, $withCascade); foreach ($queue as $object) { if ($object instanceof IEntity) { $repository = $this->configuration[2][get_class($object)]; $this->loader->getRepository($repository)->doPersist($object); } elseif ($object instanceof IRelationshipCollection) { $object->doPersist(); } } return $entity; }