*/
	public void removeGroup( short group ) throws Exception
	{
		// remove the actual group
		groups.remove( (short)(group-1) );
		// update all the versions to reflect the change
		HashSet<Integer> delenda = new HashSet<Integer>();
		for ( int i=0;i<versions.size();i++ )
		{
			Version v = versions.get( i );
			if ( v.group > group )
				v.group--;
			else if ( v.group == group )
				delenda.add( new Integer(i+1) );
		}
		// now remove any child versions of the group 
		if ( delenda.size() > 0 )
		{
			// delete the versions in reverse order
			Integer[] array = new Integer[delenda.size()];
			delenda.toArray( array );
			Arrays.sort( array );
			for ( int i=array.length-1;i>=0;i-- )
				removeVersion( array[i].intValue() );
		}
	}