# File lib/rubygems/source_index.rb, line 130
    def latest_specs
      result, latest = Hash.new { |h,k| h[k] = [] }, {}

      self.each do |_, spec| # SourceIndex is not a hash, so we're stuck with each
        name = spec.name
        curr_ver = spec.version
        prev_ver = latest[name]

        next unless prev_ver.nil? or curr_ver >= prev_ver

        if prev_ver.nil? or curr_ver > prev_ver then
          result[name].clear
          latest[name] = curr_ver
        end

        result[name] << spec
      end

      result.values.flatten
    end