protected function inspectProducts()
 {
     if (isset($this->params['params']['remove']) && (bool) $this->params['params']['remove']) {
         return;
     }
     parent::inspectProducts();
 }
 protected function processSuccess(Ess_M2ePro_Model_Listing_Product $listingProduct, array $params = array())
 {
     /** @var Ess_M2ePro_Model_Amazon_Listing_Product $amazonListingProduct */
     $amazonListingProduct = $listingProduct->getChildObject();
     if ($amazonListingProduct->getVariationManager()->isRelationMode() && !$this->getRequestDataObject($listingProduct)->hasProductId() && empty($params['general_id'])) {
         $this->getLogger()->logListingProductMessage($listingProduct, 'Unexpected error. The ASIN/ISBN for Parent or Child Product was not returned from Amazon.
              Operation cannot be finished correctly.', Ess_M2ePro_Model_Log_Abstract::TYPE_ERROR, Ess_M2ePro_Model_Log_Abstract::PRIORITY_MEDIUM);
         return;
     }
     parent::processSuccess($listingProduct, $params);
 }
 protected function unsetLocks($fail = false, $message = NULL)
 {
     try {
         $this->removeFromQueueOfSKus();
         parent::unsetLocks($fail, $message);
     } catch (Exception $e) {
         $exception = new Exception('Failed to clear amazon SKU queue. ' . $e->getMessage());
         Mage::helper('M2ePro/Module_Exception')->process($exception);
         throw $e;
     }
 }
 protected function processParentProcessors()
 {
     if (empty($this->params['params']['remove'])) {
         parent::processParentProcessors();
         return;
     }
     foreach ($this->parentsForProcessing as $listingProduct) {
         /** @var Ess_M2ePro_Model_Amazon_Listing_Product $amazonListingProduct */
         $amazonListingProduct = $listingProduct->getChildObject();
         $amazonListingProduct->getVariationManager()->getTypeModel()->getProcessor()->process();
     }
 }
 protected function unsetLocks($fail = false, $message = NULL)
 {
     $this->removeFromQueueOfSKus();
     parent::unsetLocks($fail, $message);
 }