private function duplicateListingProduct(\Ess\M2ePro\Model\Listing\Product $listingProduct) { $duplicatedListingProduct = $listingProduct->getListing()->addProduct($listingProduct->getProductId(), false, false); $variationManager = $listingProduct->getChildObject()->getVariationManager(); if (!$variationManager->isVariationProduct()) { return $duplicatedListingProduct; } if ($listingProduct->isComponentModeAmazon()) { $duplicatedListingProductManager = $duplicatedListingProduct->getChildObject()->getVariationManager(); if ($variationManager->isIndividualType() && $duplicatedListingProductManager->modeCanBeSwitched()) { $duplicatedListingProductManager->switchModeToAnother(); } } return $duplicatedListingProduct; }