* @return the id of the new version
	 */
	public int newVersion( String shortName, String longName, String group, 
		short backup, boolean partial ) 
	{
		short gId = findGroup( group );
		if ( gId == 0 && group != null && group.length()> 0 )
		{
			Group g = new Group( (short)0, group );
			groups.add( g );
			gId = (short)groups.size();
		}
		versions.add( new Version(gId, (partial)?backup:Version.NO_BACKUP, 
			shortName, longName) );
		int vId = versions.size();
		// now go through the graph, looking for any pair 
		// containing the backup version and adding to it 
		// the new version. Q: does that apply also to hints?
		if ( partial )
		{
			for ( int i=0;i<pairs.size();i++ )
			{
				Pair p = pairs.get( i );
				if ( p.versions.nextSetBit(backup)==backup )
					p.versions.set(vId);
			}
		}
		return vId;
	}