void TermMatchTreeConverter::ProcessNGramBuffer(RowMatchNode::Builder& builder,
                                                    RingBuffer<Term, Term::c_log2MaxGramSize + 1>& gramBuffer)
    {
        const size_t count = gramBuffer.GetCount();
        LogAssertB(count > 0, "must have non-empty gram.");

        Term term(gramBuffer[0]);
        AppendTermRows(builder, term);
        for (size_t n = 1; n < count; ++n)
        {
            term.AddTerm(gramBuffer[n], m_index.GetConfiguration());
            AppendTermRows(builder, term);
        }
        gramBuffer.PopFront();
    }