class Bundler::SpecSet

def sorted

def sorted
  rake = @specs.find { |s| s.name == 'rake' }
  begin
    @sorted ||= ([rake] + tsort).compact.uniq
  rescue TSort::Cyclic => error
    cgems = extract_circular_gems(error)
    raise CyclicDependencyError, "Your Gemfile requires gems that depend" \
      " depend on each other, creating an infinite loop. Please remove" \
      " either gem '#{cgems[1]}' or gem '#{cgems[0]}' and try again."
  end
end