/**
* Constructor.
*
* @SuppressWarnings(PHPMD.ExcessiveParameterList)
*
* @param \Magento\Framework\Model\Context $context Context.
* @param \Magento\Framework\Registry $registry Registry.
* @param \Magento\Framework\Data\FormFactory $formFactory Form factory.
* @param \Magento\Framework\Stdlib\DateTime\TimezoneInterface $localeDate Locale date.
* @param \Smile\ElasticsuiteCatalogRule\Model\Rule\Condition\CombineFactory $combineConditionsFactory Search engine rule (combine) condition factory.
* @param \Smile\ElasticsuiteCatalogRule\Model\Rule\Condition\ProductFactory $productConditionsFactory Search engine rule (product) condition factory.
* @param \Smile\ElasticsuiteCore\Search\Request\Query\QueryFactory $queryFactory Search query factory.
* @param \Magento\Catalog\Model\CategoryFactory $categoryFactory Product category factorty.
* @param \Smile\ElasticsuiteVirtualCategory\Model\ResourceModel\VirtualCategory\CollectionFactory $categoryCollectionFactory Virtual categories collection factory.
* @param \Smile\ElasticsuiteCatalogRule\Model\Rule\Condition\Product\QueryBuilder $queryBuilder Search rule query builder.
* @param array $data Additional data.
*/
public function __construct(\Magento\Framework\Model\Context $context, \Magento\Framework\Registry $registry, \Magento\Framework\Data\FormFactory $formFactory, \Magento\Framework\Stdlib\DateTime\TimezoneInterface $localeDate, \Smile\ElasticsuiteCatalogRule\Model\Rule\Condition\CombineFactory $combineConditionsFactory, \Smile\ElasticsuiteCatalogRule\Model\Rule\Condition\ProductFactory $productConditionsFactory, \Smile\ElasticsuiteCore\Search\Request\Query\QueryFactory $queryFactory, \Magento\Catalog\Model\CategoryFactory $categoryFactory, \Smile\ElasticsuiteVirtualCategory\Model\ResourceModel\VirtualCategory\CollectionFactory $categoryCollectionFactory, \Smile\ElasticsuiteCatalogRule\Model\Rule\Condition\Product\QueryBuilder $queryBuilder, array $data = [])
{
$this->queryFactory = $queryFactory;
$this->productConditionsFactory = $productConditionsFactory;
$this->categoryFactory = $categoryFactory;
$this->categoryCollectionFactory = $categoryCollectionFactory;
$this->queryBuilder = $queryBuilder;
parent::__construct($context, $registry, $formFactory, $localeDate, $combineConditionsFactory, $data);
}