     enumUpdateActions
 
   _updateProductType: (enumUpdateActions) =>
-    new Promise (resolve) =>
-      if _.isEmpty(enumUpdateActions)
-        resolve()
-      else
-        debug "Updating product type(s): #{_.keys(enumUpdateActions)}"
-        Promise.all [
-          for productTypeId in _.keys(enumUpdateActions)
-            updateRequest =
-              version: @_cache.productType[productTypeId].version
-              actions: enumUpdateActions[productTypeId]
-            @client.productTypes.byId(@_cache.productType[productTypeId].id).update(updateRequest)
-            .then (updatedProductType) =>
-              @_cache.productType[productTypeId] = updatedProductType.body
-              @_summary.productTypeUpdated++
-        ]
-        .then ->
-          resolve()
+    if _.isEmpty(enumUpdateActions)
+      Promise.resolve()
+    else
+      debug "Updating product type(s): #{_.keys(enumUpdateActions)}"
+      Promise.map _.keys(enumUpdateActions), (productTypeId) =>
+        updateRequest =
+          version: @_cache.productType[productTypeId].version
+          actions: enumUpdateActions[productTypeId]
+        @client.productTypes.byId(@_cache.productType[productTypeId].id).update(updateRequest)
+        .then (updatedProductType) =>
+          @_cache.productType[productTypeId] = updatedProductType.body
+          @_summary.productTypeUpdated++
 
 
   _updateEnumUpdateActions: (enumUpdateActions, updateActions) ->

      enumUpdateActions[updateActions.productTypeId] = updateActions.actions

  _fetchSameForAllAttributesOfProductType: (productType) =>
    new Promise (resolve) =>
      if @_cache.productType["#{productType.id}_sameForAllAttributes"]
        resolve(@_cache.productType["#{productType.id}_sameForAllAttributes"])
      else
        @_resolveReference(@client.productTypes, 'productType', productType, "name=\"#{productType?.id}\"")
        .then (productTypeId) =>
          sameValueAttributes = _.where(@_cache.productType[productType.id].attributes, {attributeConstraint: "SameForAll"})
          sameValueAttributeNames = _.pluck(sameValueAttributes, 'name')
          @_cache.productType["#{productType.id}_sameForAllAttributes"] = sameValueAttributeNames
          resolve(sameValueAttributeNames)

  _ensureVariantDefaults: (variant = {}) ->
    variantDefaults =

        resolve(product)

  _ensureProductTypesInMemory: (products) =>
    Promise.map products, (product) =>
      @_ensureProductTypeInMemory(product.productType.id)
    , {concurrency: 1}


  _ensureProductTypeInMemory: (productTypeId) =>
    @logger.info "ensuring product type id: #{productTypeId}"
