public function parameterValidatorFactory()
    {
        return function (ServiceContainer $container) {
            $parameterValidator = new ParameterValidator(
                $container->get('ecomdev.phpspec.magento_di_adapter.code_generator.io'),
                $container->get('ecomdev.phpspec.magento_di_adapter.code_generator.defined_classes'),
                $container->get('loader.transformer.typehintindex')
            );

            $parameterValidator
                ->addGenerator(Generator\Factory::class, Generator\Factory::ENTITY_TYPE)
                ->addGenerator(Generator\Repository::class, Generator\Repository::ENTITY_TYPE)
                ->addGenerator(Generator\Converter::class, Generator\Converter::ENTITY_TYPE)
                ->addGenerator(Generator\Persistor::class, Generator\Persistor::ENTITY_TYPE)
                ->addGenerator(MapperGenerator::class, MapperGenerator::ENTITY_TYPE)
                ->addGenerator(SearchResults::class, SearchResults::ENTITY_TYPE)
            ;

            return $parameterValidator;
        };
    }