protected final byte[] serializeAllocationBlock( int blockIndex )
    {
    	byte[] allocationBlock = new byte[AT_BLOCK_SIZE];

        // Regroup I/O to improve performance
        allocationBlock[AB_FLAGS_OFFSET]       = flags[blockIndex];
        allocationBlock[AB_ALLOCSIZE_OFFSET]   = (byte)((allocatedSize[blockIndex] >>> 24) & 0xFF);
        allocationBlock[AB_ALLOCSIZE_OFFSET+1] = (byte)((allocatedSize[blockIndex] >>> 16) & 0xFF);
        allocationBlock[AB_ALLOCSIZE_OFFSET+2] = (byte)((allocatedSize[blockIndex] >>>  8) & 0xFF);
        allocationBlock[AB_ALLOCSIZE_OFFSET+3] = (byte)((allocatedSize[blockIndex] >>>  0) & 0xFF);
        allocationBlock[AB_PREVBLOCK_OFFSET]   = (byte)((previousBlock[blockIndex] >>> 24) & 0xFF);
        allocationBlock[AB_PREVBLOCK_OFFSET+1] = (byte)((previousBlock[blockIndex] >>> 16) & 0xFF);
        allocationBlock[AB_PREVBLOCK_OFFSET+2] = (byte)((previousBlock[blockIndex] >>>  8) & 0xFF);
        allocationBlock[AB_PREVBLOCK_OFFSET+3] = (byte)((previousBlock[blockIndex] >>>  0) & 0xFF);
        allocationBlock[AB_NEXTBLOCK_OFFSET]   = (byte)((nextBlock[blockIndex] >>> 24) & 0xFF);
        allocationBlock[AB_NEXTBLOCK_OFFSET+1] = (byte)((nextBlock[blockIndex] >>> 16) & 0xFF);
        allocationBlock[AB_NEXTBLOCK_OFFSET+2] = (byte)((nextBlock[blockIndex] >>>  8) & 0xFF);
        allocationBlock[AB_NEXTBLOCK_OFFSET+3] = (byte)((nextBlock[blockIndex] >>>  0) & 0xFF);
        
        return allocationBlock;
    }
protected final byte [ ] serializeAllocationBlock ( int blockIndex ) { byte [ ] allocationBlock = new byte [ AT_BLOCK_SIZE ] ; allocationBlock [ AB_FLAGS_OFFSET ] = flags [ blockIndex ] ; allocationBlock [ AB_ALLOCSIZE_OFFSET ] = ( byte ) ( ( allocatedSize [ blockIndex ] > > > 24 ) & 0xFF ) ; allocationBlock [ AB_ALLOCSIZE_OFFSET + 1 ] = ( byte ) ( ( allocatedSize [ blockIndex ] > > > 16 ) & 0xFF ) ; allocationBlock [ AB_ALLOCSIZE_OFFSET + 2 ] = ( byte ) ( ( allocatedSize [ blockIndex ] > > > 8 ) & 0xFF ) ; allocationBlock [ AB_ALLOCSIZE_OFFSET + 3 ] = ( byte ) ( ( allocatedSize [ blockIndex ] > > > 0 ) & 0xFF ) ; allocationBlock [ AB_PREVBLOCK_OFFSET ] = ( byte ) ( ( previousBlock [ blockIndex ] > > > 24 ) & 0xFF ) ; allocationBlock [ AB_PREVBLOCK_OFFSET + 1 ] = ( byte ) ( ( previousBlock [ blockIndex ] > > > 16 ) & 0xFF ) ; allocationBlock [ AB_PREVBLOCK_OFFSET + 2 ] = ( byte ) ( ( previousBlock [ blockIndex ] > > > 8 ) & 0xFF ) ; allocationBlock [ AB_PREVBLOCK_OFFSET + 3 ] = ( byte ) ( ( previousBlock [ blockIndex ] > > > 0 ) & 0xFF ) ; allocationBlock [ AB_NEXTBLOCK_OFFSET ] = ( byte ) ( ( nextBlock [ blockIndex ] > > > 24 ) & 0xFF ) ; allocationBlock [ AB_NEXTBLOCK_OFFSET + 1 ] = ( byte ) ( ( nextBlock [ blockIndex ] > > > 16 ) & 0xFF ) ; allocationBlock [ AB_NEXTBLOCK_OFFSET + 2 ] = ( byte ) ( ( nextBlock [ blockIndex ] > > > 8 ) & 0xFF ) ; allocationBlock [ AB_NEXTBLOCK_OFFSET + 3 ] = ( byte ) ( ( nextBlock [ blockIndex ] > > > 0 ) & 0xFF ) ; return allocationBlock ; }
Serialize allocation block at index blockIndex
@param blockIndex the block index
@return the serialized allocation block