{
Block block = readBlock(fragmentAddress);
try {
Lock lock = block.getLock();
lock.lockReadAndWrite(_blockLockTimeout);
try {
int fragIndex = (int) (fragmentAddress & BLOCK_OFFSET_MASK);
int offset = fragIndex / 8 + MINI_FRAG_ALLOC_OFFSET;
int mask = 1 << (fragIndex % 8);