code: public synchronized NikeFS2Block allocateBlock() {
  		// look for free block, i.e. first block whose index
  		// bit is set to true in the allocation map.
  		int freeBlockIndex = blockAllocationMap.nextSetBit(0);
  		if(freeBlockIndex < 0) {
  			// no free blocks left in this provider.
  			return null;
  		} else {
  			// set index bit to false in allocation map,
  			// and return in block wrapper.
  			blockAllocationMap.set(freeBlockIndex, false);
  			return new NikeFS2Block(this, freeBlockIndex);
  		}
  	}
docs: Allocates a new block from this block provider.
  
  @return A newly allocated block from this provider.
  May return <code>null</code>, if no free blocks are
  currently available.