<?php

namespace ContainerRYWeSXx;

use Symfony\Component\DependencyInjection\Argument\RewindableGenerator;
use Symfony\Component\DependencyInjection\ContainerInterface;
use Symfony\Component\DependencyInjection\Exception\RuntimeException;

/*
 * @internal This class has been auto-generated by the Symfony Dependency Injection Component.
 */
class getApiPlatform_DoctrineMongodb_Odm_State_ItemProviderService extends App_KernelProdContainer
{
    /*
     * Gets the private 'api_platform.doctrine_mongodb.odm.state.item_provider' shared service.
     *
     * @return \ApiPlatform\Doctrine\Odm\State\ItemProvider
     */
    public static function do($container, $lazyLoad = true)
    {
        $a = ($container->privates['api_platform.doctrine.odm.metadata.resource.metadata_collection_factory'] ?? self::getApiPlatform_Doctrine_Odm_Metadata_Resource_MetadataCollectionFactoryService($container));

        if (isset($container->privates['api_platform.doctrine_mongodb.odm.state.item_provider'])) {
            return $container->privates['api_platform.doctrine_mongodb.odm.state.item_provider'];
        }
        $b = ($container->privates['.service_locator.KsJXWRG'] ?? $container->load('get_ServiceLocator_KsJXWRGService'));

        if (isset($container->privates['api_platform.doctrine_mongodb.odm.state.item_provider'])) {
            return $container->privates['api_platform.doctrine_mongodb.odm.state.item_provider'];
        }

        $instance = new \ApiPlatform\Doctrine\Odm\State\ItemProvider($a, ($container->services['doctrine_mongodb'] ?? self::getDoctrineMongodbService($container)), new RewindableGenerator(function () use ($container) {
            yield 0 => ($container->privates['App\\ApiPlatform\\Doctrine\\ActiveReleasesExtension'] ?? $container->load('getActiveReleasesExtensionService'));
            yield 1 => ($container->privates['App\\ApiPlatform\\Doctrine\\CurrentOrganizationExtension'] ?? $container->load('getCurrentOrganizationExtensionService'));
            yield 2 => ($container->privates['api_platform.doctrine_mongodb.odm.extension.parameter_extension'] ?? $container->load('getApiPlatform_DoctrineMongodb_Odm_Extension_ParameterExtensionService'));
        }, 3), $b);

        if (isset($container->privates['api_platform.doctrine_mongodb.odm.state.item_provider'])) {
            return $container->privates['api_platform.doctrine_mongodb.odm.state.item_provider'];
        }

        return $container->privates['api_platform.doctrine_mongodb.odm.state.item_provider'] = $instance;
    }
}
