result.setGroup(blockGroup);  return result;
if(result.isSuccessful()){  writeBlock( gdesc.getInodeBitmap(), bitmap, true); modifyFreeInodesCount(blockGroup, -1);  result.setGroup(blockGroup);  return result; }
	protected INodeReservation findFreeINode(int blockGroup) throws IOException{		GroupDescriptor gdesc = groupDescriptors[blockGroup];		if(gdesc.getFreeInodesCount()> 0) {			byte[] bitmap = getBlock( gdesc.getInodeBitmap() );			synchronized(bitmap) {				INodeReservation result = INodeBitmap.findFreeINode(bitmap);								if(result.isSuccessful()){					//update the inode bitmap					writeBlock( gdesc.getInodeBitmap(), bitmap, true);					modifyFreeInodesCount(blockGroup, -1);										result.setGroup(blockGroup);																				return result;				}			}		}		return new INodeReservation(false, -1);	}