def fetch_single_spec(source_uri, spec_name)
      @fetch_error = nil

      begin
        marshal_uri = source_uri + "quick/Marshal.#{Gem.marshal_version}/#{spec_name}.gemspec.rz"
        zipped = fetcher.fetch_path marshal_uri
        return Marshal.load(unzip(zipped))
      rescue => ex
        @fetch_error = ex

        if Gem.configuration.really_verbose then
          say "unable to fetch marshal gemspec #{marshal_uri}: #{ex.class} - #{ex}"
        end
      end

      begin
        yaml_uri = source_uri + "quick/#{spec_name}.gemspec.rz"
        zipped = fetcher.fetch_path yaml_uri
        return YAML.load(unzip(zipped))
      rescue => ex
        @fetch_error = ex
        if Gem.configuration.really_verbose then
          say "unable to fetch YAML gemspec #{yaml_uri}: #{ex.class} - #{ex}"
        end
      end

      nil
    end
def fetch_single_spec(source_uri, spec_name)
      @fetch_error = nil

      begin
        marshal_uri = source_uri + "quick/Marshal.#{Gem.marshal_version}/#{spec_name}.gemspec.rz"
        zipped = fetcher.fetch_path marshal_uri
        return Marshal.load(unzip(zipped))
      rescue => ex
        @fetch_error = ex

        if Gem.configuration.really_verbose then
          say "unable to fetch marshal gemspec #{marshal_uri}: #{ex.class} - #{ex}"
        end
      end

      begin
        yaml_uri = source_uri + "quick/#{spec_name}.gemspec.rz"
        zipped = fetcher.fetch_path yaml_uri
        return YAML.load(unzip(zipped))
      rescue => ex
        @fetch_error = ex
        if Gem.configuration.really_verbose then
          say "unable to fetch YAML gemspec #{yaml_uri}: #{ex.class} - #{ex}"
        end
      end

      nil
    end
Tries to fetch Marshal representation first, then YAML