code: function(product, productType, appearance, options) {
                  options = options || {};
  
                  var self = this,
                      changedColorConfigurations = [];
  
                  var removedConfigurations = _.filter(_.clone(product.$.configurations.$items), function(configuration) {
                      var convertConfiguration = self.convertConfiguration(product, configuration, productType, appearance, options);
                      if (convertConfiguration && convertConfiguration.changedColors) {
                          changedColorConfigurations.push(configuration);
                      }
  
                      return !convertConfiguration;
                  });
  
                  if (removedConfigurations && removedConfigurations.length) {
                      self.trigger('on:removedConfigurations', {configurations: removedConfigurations}, self);
                      product.$.configurations.remove(removedConfigurations);
                  }
  
                  if (changedColorConfigurations.length) {
                      self.trigger('on:changedConfigurationColor', changedColorConfigurations);
                  }
  
                  return removedConfigurations;
              }
docs: *
  Converts the configurations of a product with the given productType and appearance
  @param {sprd.model.Product} product
  @param {sprd.model.ProductType} productType
  @param {sprd.entity.Appearance} appearance