private void compressClassesToPackageLevel() {

    Enumeration classesEnum = this.allCategorizedClasses.keys();
    while (classesEnum.hasMoreElements()) {
      String key = (String) classesEnum.nextElement();
      ListOfCategories loc = (ListOfCategories) allCategorizedClasses.get(key);

      ListOfPackageCategories lopc =
          (ListOfPackageCategories)
              this.allCategorizedPackages.get(ListOfPackageCategories.getWithClassFcn(key));

      if (loc.size() == 0) {
        ArchitecturalCategoryPackage pnac =
            (ArchitecturalCategoryPackage) lopc.get("NOT CATEGORIZED");
        if (pnac != null) {
          pnac.occurance++;
        } else {
          // logger.error(" No ArchitecturalCategory for <NOT CATEGORIZED> initialized. ");
        }
      }

      for (int i = 0; i < loc.size(); i++) {
        try {
          ArchitecturalCategory ac = (ArchitecturalCategory) loc.elementAt(i);
          // System.out.println ("*** " +ac.categoryType );
          ArchitecturalCategoryPackage pac = lopc.get(ac.categoryType);
          if (pac == null) {
            lopc.put(
                ac.categoryType,
                new ArchitecturalCategoryPackage(key, ac.categoryType, ac.source_url));
          } else {
            pac.occurance++;
          }
        } catch (RuntimeException e) {
          // TODO Auto-generated catch block
        }
      }
    }
  }