public function process(ContainerBuilder $container)
    {
        $config = $container->getExtensionConfig('gesdinet_jwt_refresh_token')[0];

        if (!class_exists('Doctrine\Bundle\MongoDBBundle\DependencyInjection\Compiler\DoctrineMongoDBMappingsPass')
            && (isset($config['manager_type']) && 'mongodb' === strtolower($config['manager_type']))
        ) {
            // skip MongoDB ODM mappings
            return;
        }

        if (!class_exists('Doctrine\Bundle\DoctrineBundle\DependencyInjection\Compiler\DoctrineOrmMappingsPass')
            && (!isset($config['manager_type']) || 'mongodb' !== strtolower($config['manager_type']))
        ) {
            // skip ORM mappings
            return;
        }

        $mappingPass = isset($config['manager_type']) && 'mongodb' === strtolower($config['manager_type'])
            ? $this->getODMCompilerPass($config)
            : $this->getORMCompilerPass($config);

        $mappingPass->process($container);
    }