long fetchLongRecordPointer(int foundAt) {
        if (!isDataPage()) {
            return 0;
        }
        int kbData = getInt(foundAt & P_MASK);
        int tail = decodeKeyBlockTail(kbData);
        int tbData = getInt(tail);
        int klength = decodeTailBlockKLength(tbData);
        int size = decodeTailBlockSize(tbData);
        int valueSize = size - klength - _tailHeaderSize;
        if (valueSize != LONGREC_SIZE) {
            return 0;
        }
        if ((_bytes[tail + _tailHeaderSize + klength] & 0xFF) != LONGREC_TYPE) {
            return 0;
        }

        long pointer = getLong(tail + _tailHeaderSize + klength + LONGREC_PAGE_OFFSET);
        return pointer;
    }