private static void InsertBlockIdRef(ITransaction t, BlockId blockId, long[] uid)
        {
            IDataFile bidUidListDf = t.GetFile(BlockidUidMapKey, FileAccess.ReadWrite);
            BlockIdUidList blockidUidList = new BlockIdUidList(bidUidListDf);

            blockidUidList.AddBlockIdRef(blockId, uid);
        }
        private BlockId GetLastBlockId(ITransaction t)
        {
            IDataFile bidUidListDf = t.GetFile(BlockidUidMapKey, FileAccess.Read);
            BlockIdUidList blockidUidList = new BlockIdUidList(bidUidListDf);

            long pos = blockidUidList.Count - 1;
            if (pos < 0) {
                return null;
            }

            return blockidUidList.GetBlockIdAt(pos);
        }
        // ------ Storage ------
        private static long[] GetUidForBlock(ITransaction t, BlockId blockId)
        {
            IDataFile bidUidListDf = t.GetFile(BlockidUidMapKey, FileAccess.ReadWrite);
            BlockIdUidList blockidUidList = new BlockIdUidList(bidUidListDf);

            long pos = blockidUidList.PositionOfBlockId(blockId);
            if (pos < 0)
                return null;

            return blockidUidList.GetUidAt(pos);
        }