# File lib/rchardet/universaldetector.rb, line 133
    def close
      return if @done
      if not @_mGotData
        $stderr << "no data received!\n" if $debug
        return
      end
      @done = true

      if @_mInputState == EPureAscii:
        @result = {'encoding' => 'ascii', 'confidence' => 1.0}
        return @result
      end

      if @_mInputState == EHighbyte:
        confidences = {}
        @_mCharSetProbers.each{ |prober| confidences[prober] = prober.get_confidence }
        maxProber = @_mCharSetProbers.max{ |a,b| confidences[a] <=> confidences[b] }
        if maxProber and maxProber.get_confidence > MINIMUM_THRESHOLD
          @result = {'encoding' =>  maxProber.get_charset_name(),
                               'confidence' =>  maxProber.get_confidence()}
          return @result
        end
      end

      if $debug
        $stderr << "no probers hit minimum threshhold\n" if $debug
        for prober in @_mCharSetProbers[0]._mProbers
          next if not prober
          $stderr << "#{prober.get_charset_name} confidence = #{prober.get_confidence}\n" if $debug
        end
      end
    end