public function __construct(DocumentManager $documentManager, $proxyDir, $proxyNamespace, $autoGenerate = AbstractProxyFactory::AUTOGENERATE_NEVER)
{
$this->metadataFactory = $documentManager->getMetadataFactory();
$this->uow = $documentManager->getUnitOfWork();
$this->proxyNamespace = $proxyNamespace;
$this->lifecycleEventManager = new LifecycleEventManager($documentManager, $this->uow, $documentManager->getEventManager());
$proxyGenerator = new ProxyGenerator($proxyDir, $proxyNamespace);
$proxyGenerator->setPlaceholder('baseProxyInterface', Proxy::class);
parent::__construct($proxyGenerator, $this->metadataFactory, $autoGenerate);
}