public function start(?string $groupCode = null): void 	{ 		$productsCollection = collect($this->getProducts());  		$stock = collect($this->getStock());  		$categories = $this->getCategories();  		$groupProducts = $productsCollection->filter(function ($value, $key) use ($groupCode) { 			return $value['ProductGroupCode'] == $groupCode; 		});  		foreach ($groupProducts as $product) { 			$productInStock = $stock->firstWhere('ProductCode', $product['ProductCode']);  			$productCode = $product['ProductCode'];  			$name = $product['ProductName']; 			$slug = Product::generateSlug($name); 			$price = $productInStock['Price'] ?? 0; 			$quantity = $productInStock['Quantity'] ?? 0; 			$category_id = $categories->firstWhere('group_code', $groupCode)['id'] ?? null; 			$weight = $product['Weight'] ?? 0; 			$type = Product::REGULAR_PRODUCT; 			$unit_of_measure = array_search($product['UnitOfMeasure'] ?? null, Product::getMeasureUnites()); 			$alternative_unit_of_measure = isset($product['AlternativeUnitOfMeasure']) ? array_search($product['AlternativeUnitOfMeasure'], Product::getAlternativeMeasureUnites()) : null; 			$conversion_to_quantity = $product['ConversionToQuantity'] ?? null;  			try { 				$unitOfMeasureValueObject = PriceFromPricePerMeasureUnitFactory::make($unit_of_measure, $price, $alternative_unit_of_measure, $conversion_to_quantity, $weight); 			} catch (Exception) { 				continue; 			}  			$result = $unitOfMeasureValueObject->getPrices();  			$validator = $this->createValidatorInstance($name, $slug, $result->getPrice(), $quantity, $category_id, $weight, $type, $unit_of_measure, $productCode, $result->getPricePerUnitOfMeasure(), $alternative_unit_of_measure, $conversion_to_quantity);  			if ($validator->fails()) { 				$this->failedImportsCount++; 				$this->failedImports['items'][$productCode] = $validator->errors();  				continue; 			}  			/** 			 * @var Product $product 			 */ 			$product = $this->updateOrCreateItem($name, $slug, $result->getPrice(), $quantity, $category_id, $weight, $type, $unit_of_measure, $productCode, $result->getPricePerUnitOfMeasure(), $alternative_unit_of_measure, $conversion_to_quantity);  			if ($category_id) { 				$this->updateCategoryRelation($product, $category_id); 			}  			$this->importedItemsCount++; 		}  		$this->logStatistics(); 	}