def METHOD_NAME(self):
    if self.done:
        return
    if not self._mGotData:
        if constants._debug:
            sys.stderr.write('no data received!\n')
        return
    self.done = True
    if self._mInputState == ePureAscii:
        self.result = {'encoding': 'ascii', 'confidence': 1.0}
        return self.result
    if self._mInputState == eHighbyte:
        proberConfidence = None
        maxProberConfidence = 0.0
        maxProber = None
        for prober in self._mCharSetProbers:
            if not prober:
                continue
            proberConfidence = prober.get_confidence()
            if proberConfidence > maxProberConfidence:
                maxProberConfidence = proberConfidence
                maxProber = prober
        if maxProber and (maxProberConfidence > MINIMUM_THRESHOLD):
            self.result = {'encoding': maxProber.get_charset_name(),
                           'confidence': maxProber.get_confidence()}
            return self.result
    if constants._debug:
        sys.stderr.write('no probers hit minimum threshhold\n')
        for prober in self._mCharSetProbers[0].mProbers:
            if not prober:
                continue
            sys.stderr.write('%s confidence = %s\n' %
                             (prober.get_charset_name(),
                              prober.get_confidence()))