class Bundler::Resolver

def initialize(sources, source_requirements)

def initialize(sources, source_requirements)
  @errors = {}
  @stack  = []
  @specs  = Hash.new { |h,k| h[k] = [] }
  @by_gem = source_requirements
  @cache  = {}
  @index  = {}
  sources.each do |source|
    source.gems.each do |name, specs|
      # Hack to work with a regular Gem::SourceIndex
      specs = [specs] unless specs.is_a?(Array)
      specs.compact.each do |spec|
        next if @specs[spec.name].any? { |s| s.version == spec.version && s.platform == spec.platform }
        @specs[spec.name] << spec
      end
    end
  end
end