# File lib/JapaneseContextAnalysis.rb, line 137
        def feed(aBuf, aLen)
            if @_mDone then return end

            # The buffer we got is byte oriented, and a character may span in more than one
            # buffers. In case the last one or two byte in last buffer is not complete, we 
            # record how many byte needed to complete that character and skip these bytes here.
            # We can choose to record those bytes as well and analyse the character once it 
            # is complete, but since a character will not make much difference, by simply skipping
            # this character will simply our logic and improve performance.
            i = @_mNeedToSkipCharNum
            while i < aLen
                order, charLen = get_order(aBuf[i..i+2])
                i += charLen
                if i > aLen
                    @_mNeedToSkipCharNum = i - aLen
                    @_mLastCharOrder = -1
                else
                    if (order != -1) and (@_mLastCharOrder != -1)
                        @_mTotalRel += 1
                        if @_mTotalRel > MAX_REL_THRESHOLD
                            @_mDone = true
                            break
                        end
                        @_mRelSample[Jp2CharContext[@_mLastCharOrder][order]] += 1
                    end
                    @_mLastCharOrder = order
                end
            end
        end