/**
  * @param int $idProduct
  * @param int $idLocale
  *
  * @return \Propel\Runtime\Collection\ArrayCollection
  */
 public function getProductOptionsByIdProductAndIdLocale($idProduct, $idLocale)
 {
     $query = $this->queryContainer->queryProductOptionTypeUsageByIdProduct($idProduct)->useSpyProductOptionTypeQuery(null, Criteria::LEFT_JOIN)->useSpyProductOptionTypeTranslationQuery(null, Criteria::LEFT_JOIN)->filterByFkLocale($idLocale)->endUse()->endUse()->useSpyProductOptionValueUsageQuery(null, Criteria::LEFT_JOIN)->useSpyProductOptionValueQuery(null, Criteria::LEFT_JOIN)->useSpyProductOptionValueTranslationQuery(null, Criteria::LEFT_JOIN)->endUse()->endUse()->endUse()->withColumn(SpyProductOptionTypeTranslationTableMap::COL_NAME, self::COL_TRANSLATION_TYPE_ALIAS)->withColumn(SpyProductOptionValueTranslationTableMap::COL_NAME, self::COL_TRANSLATION_VALUE_ALIAS)->clearGroupByColumns()->groupByFkProductOptionType();
     $productOptionsCollection = $query->find();
     $productList = new ArrayCollection();
     foreach ($productOptionsCollection as $productOptionsItem) {
         $objectHash = spl_object_hash($productOptionsItem);
         // @todo CD-414 propel uses all columns in group by and it should not
         if (!$productList->offsetExists($objectHash)) {
             $option = $productOptionsItem->toArray();
             $productOptions = new ProductOptionsNameValueTransfer();
             $productOptions->setType($option[self::COL_TRANSLATION_TYPE_ALIAS]);
             $productOptions->setValue($option[self::COL_TRANSLATION_VALUE_ALIAS]);
             $productList[$objectHash] = $productOptions;
         }
     }
     return $productList;
 }
 public function getWorkerObject()
 {
     return parent::getWorkerObject();
 }