* @param path to the group containing that version
     * @return the version id, 1-based or 0 if not found
     */
    public int getVersionByNameAndGroup( String shortName, String path )
    {
        StringTokenizer st = new StringTokenizer( path, "/" );
        short groupId = 0;
        int vId = 0;
        while ( st.hasMoreTokens() )
        {
            String groupName = st.nextToken();
            for ( short i=0;i<groups.size();i++ )
            {
                Group g = groups.get( i );
                if ( g.name.equals(groupName) && g.parent == groupId )
                {
                    groupId = (short)(i+1);
                    break;
                }
            }
        }
        // there must be at least one group
//        if ( groupId == 0 )
//            groupId = 1;
        for ( int i=0;i<versions.size();i++ )
        {
            Version v = versions.get(i);
            if ( v.shortName.endsWith(shortName) && v.group == groupId )
            {
                vId = i+1;
                break;
            }
        }
        return vId;
    }