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;
}