private DbJVPackage findPackageByName(String qualifiedPackageName) throws DbException {
    DbJVPackage pack = packages.get(qualifiedPackageName);

    if (pack == null) {
      DbOOAbsPackage parent = m_classModel;
      StringTokenizer st = new StringTokenizer(qualifiedPackageName, ".");

      while (st.hasMoreElements()) {
        String token = st.nextToken();
        pack = findPackageByName(parent, token);
        if (pack == null) {
          pack = new DbJVPackage(parent);
          pack.setName(token);
        } // end if
        parent = pack;
      } // end while

      packages.put(qualifiedPackageName, pack);
    } // end if

    return pack;
  }