/**
* {@inheritdoc}
*/
public function create(DocumentManager $dm, array $mapping, BaseCollection $coll = null)
{
if ($coll === null) {
$coll = !empty($mapping['collectionClass']) ? $this->createCollectionClass($mapping['collectionClass']) : new ArrayCollection();
}
if (empty($mapping['collectionClass'])) {
return new PersistentCollection($coll, $dm, $dm->getUnitOfWork());
}
$className = $dm->getConfiguration()->getPersistentCollectionGenerator()->loadClass($mapping['collectionClass'], $dm->getConfiguration()->getAutoGeneratePersistentCollectionClasses());
return new $className($coll, $dm, $dm->getUnitOfWork());
}