       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)
+    if @_cache.productType["#{productType.id}_sameForAllAttributes"]
+      Promise.resolve(@_cache.productType["#{productType.id}_sameForAllAttributes"])
+    else
+      @_resolveReference(@client.productTypes, 'productType', productType, "name=\"#{productType?.id}\"")
+      .then =>
+        sameValueAttributes = _.where(@_cache.productType[productType.id].attributes, {attributeConstraint: "SameForAll"})
+        sameValueAttributeNames = _.pluck(sameValueAttributes, 'name')
+        @_cache.productType["#{productType.id}_sameForAllAttributes"] = sameValueAttributeNames
+        Promise.resolve(sameValueAttributeNames)
 
   _ensureVariantDefaults: (variant = {}) ->
     variantDefaults =

    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()


  _updateEnumUpdateActions: (enumUpdateActions, updateActions) ->

        resolve(product)

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


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