# File lib/openshift-origin-controller/app/models/component_instance.rb, line 207
  def get_cartridges_for_dependencies(comp, cart)
    # resolve features into cartridges - two features may resolve
    # into one cartridge only, e.g. depends = [db,db-failover] 
    # will resolve into one mysql cartridge being instantiated with (master/slave) profile
    cart_map = {}
    cart_map_keys = []
    depends = comp.depends + cart.requires_feature
    
    depends.each do |feature| 
      cart = CartridgeCache::find_cartridge(feature)
      raise OpenShift::UserException.new("Invalid cartridge specified: #{feature}",1) if cart.nil?
      capability = feature
      capability = nil if feature==cart.name
      profile = cart.find_profile(capability)
      key = cart.name + profile.name
      cart_map_keys << key if not cart_map_keys.include? key
      cart_map[key] = [cart, profile]
    end
    return cart_map, cart_map_keys
  end