public function getCustomEntityRepositories()
    {
        $result = [];
        $app = ApplicationFacade::getFacadeApplication();
        $pev = new PackageEntitiesEvent();
        $app->make('director')->dispatch('on_list_package_entities', $pev);
        $entityManagers = array_merge([$app->make(EntityManagerInterface::class)], $pev->getEntityManagers());
        foreach ($entityManagers as $entityManager) {
            /* @var EntityManagerInterface $entityManager */
            $metadataFactory = $entityManager->getMetadataFactory();
            foreach ($metadataFactory->getAllMetadata() as $metadata) {
                /* @var \Doctrine\Common\Persistence\Mapping\ClassMetadata $metadata */
                $entityClassName = $metadata->getName();
                $entityRepository = $entityManager->getRepository($entityClassName);
                $entityRepositoryClassName = get_class($entityRepository);
                switch ($entityRepositoryClassName) {
                    case \Doctrine\ORM\EntityRepository::class:
                        break;
                    default:
                        $result[$entityClassName] = $entityRepositoryClassName;
                        break;
                }
            }
        }

        return $result;
    }