    # File lib/rubygems/source_info_cache.rb, line 295
      def search_with_source(pattern, only_platform = false, all = false)
        read_all_cache_data if all

        results = []

        cache_data.map do |source_uri, sic_entry|
          next unless Gem.sources.include? source_uri

          sic_entry.source_index.search(pattern, only_platform).each do |spec|
            results << [spec, source_uri]
          end
        end

        results
      end