*            offset of the next key block not being deleted
     */
    void joinDeallocateTails(int from, int to) {
        for (int index = from; index < to; index += KEYBLOCK_LENGTH) {
            int kbData = getInt(index);
            int tail = decodeKeyBlockTail(kbData);
            int tbData = getInt(tail);
            int size = (decodeTailBlockSize(tbData) + ~TAILBLOCK_MASK) & TAILBLOCK_MASK;
            deallocTail(tail, size);
        }
    }