original_string: public static function create(ProviderRepository $providerRepository = null)
      {
          $container = new Container(
              $providerRepository
          );
  
  
          if (!$container->isProvided(AnnotationServiceProvider::class)) {
              $container->addProvider(AnnotationServiceProvider::class);
          }
  
          $container->add(
              Container::class,
              function () use ($container) {
                  return $container;
              }
          )->alias(ContainerInterface::class);
  
          return $container;
      }
code: public static function create(ProviderRepository $providerRepository = null)
      {
          $container = new Container(
              $providerRepository
          );
  
  
          if (!$container->isProvided(AnnotationServiceProvider::class)) {
              $container->addProvider(AnnotationServiceProvider::class);
          }
  
          $container->add(
              Container::class,
              function () use ($container) {
                  return $container;
              }
          )->alias(ContainerInterface::class);
  
          return $container;
      }
code_tokens: public static function create ( ProviderRepository $ providerRepository = null ) { $ container = new Container ( $ providerRepository ) ; if ( ! $ container -> isProvided ( AnnotationServiceProvider :: class ) ) { $ container -> addProvider ( AnnotationServiceProvider :: class ) ; } $ container -> add ( Container :: class , function ( ) use ( $ container ) { return $ container ; } ) -> alias ( ContainerInterface :: class ) ; return $ container ; }
docstring: create a new container instance
  
  @param ProviderRepository|null $providerRepository
  @throws ProviderException
  @return Container
docstring_tokens: create a new container instance