code: protected function detectMetadataDriver($dir, ContainerBuilder $container)
      {
          // add the closest existing directory as a resource
          $configPath = $this->getMappingResourceConfigDirectory();
          $resource = $dir.'/'.$configPath;
          while (!is_dir($resource)) {
              $resource = dirname($resource);
          }
  
          $container->addResource(new FileResource($resource));
  
          $extension = $this->getMappingResourceExtension();
          if (($files = glob($dir.'/'.$configPath.'/*.'.$extension.'.xml')) && count($files)) {
              return 'xml';
          } elseif (($files = glob($dir.'/'.$configPath.'/*.'.$extension.'.yml')) && count($files)) {
              return 'yml';
          } elseif (($files = glob($dir.'/'.$configPath.'/*.'.$extension.'.php')) && count($files)) {
              return 'php';
          }
  
          // add the directory itself as a resource
          $container->addResource(new FileResource($dir));
  
          if (is_dir($dir.'/'.$this->getMappingObjectDefaultName())) {
              return 'annotation';
          }
  
          return null;
      }
docs: Detects what metadata driver to use for the supplied directory.
  
  @param string           $dir       A directory path
  @param ContainerBuilder $container A ContainerBuilder instance
  
  @return string|null A metadata driver short name, if one can be detected