# File lib/MultiByteCharSetProber.rb, line 56
        def feed(aBuf)            
            aLen = aBuf.length
            for i in 0...aLen
                codingState = @_mCodingSM.next_state(aBuf[i])
                if codingState == :Error
                    if UniversalDetector::DEBUG
                        p(get_charset_name() + ' prober hit error at byte ' + i.to_s + '\n')
                    end
                    @_mState = :NotMe
                    break                
                elsif codingState == :ItsMe
                    @_mState = :FoundIt
                    break
                elsif codingState == :Start
                    charLen = @_mCodingSM.get_current_charlen()
                    if i == 0
                        @_mLastChar[1] = aBuf[0]
                        @_mDistributionAnalyzer.feed(@_mLastChar, charLen)
                    else
                        @_mDistributionAnalyzer.feed(aBuf[(i-1)..(i+1)], charLen)
                    end
                end
            end

            @_mLastChar[0] = aBuf[aLen - 1]
            if get_state() == :Detecting
                if @_mDistributionAnalyzer.got_enough_data() && (get_confidence() > SHORTCUT_THRESHOLD)
                    @_mState = :FoundIt
                end
            end

            return get_state()
        end