* @return long encoding the size being deleted and the minimum ebc
     * 
     */
    long joinMeasure(int from, int to) {
        int minimumEbc = Integer.MAX_VALUE;
        int totalDeallocatedSize = 0;
        for (int index = from; index < to; index += KEYBLOCK_LENGTH) {
            int kbData = getInt(index);
            int ebc = decodeKeyBlockEbc(kbData);
            if (index != KEY_BLOCK_START && ebc < minimumEbc) {
                minimumEbc = ebc;
            }
            int tail = decodeKeyBlockTail(kbData);
            int tbData = getInt(tail);
            int size = decodeTailBlockSize(tbData);
            totalDeallocatedSize += ((size + ~TAILBLOCK_MASK) & TAILBLOCK_MASK) + KEYBLOCK_LENGTH;
        }
        return (((long) minimumEbc) << 32) | totalDeallocatedSize;
    }