code: public static void generate(ConfigurationImpl configuration,
              PackageDoc packageDoc, int profileValue) {
          ProfilePackageFrameWriter profpackgen;
          try {
              String profileName = Profile.lookup(profileValue).name;
              profpackgen = new ProfilePackageFrameWriter(configuration, packageDoc,
                      profileName);
              StringBuilder winTitle = new StringBuilder(profileName);
              String sep = " - ";
              winTitle.append(sep);
              String pkgName = Util.getPackageName(packageDoc);
              winTitle.append(pkgName);
              Content body = profpackgen.getBody(false,
                      profpackgen.getWindowTitle(winTitle.toString()));
              Content profName = new StringContent(profileName);
              Content sepContent = new StringContent(sep);
              Content pkgNameContent = new RawHtml(pkgName);
              Content heading = HtmlTree.HEADING(HtmlConstants.TITLE_HEADING, HtmlStyle.bar,
                      profpackgen.getTargetProfileLink("classFrame", profName, profileName));
              heading.addContent(sepContent);
              heading.addContent(profpackgen.getTargetProfilePackageLink(packageDoc,
                      "classFrame", pkgNameContent, profileName));
              body.addContent(heading);
              HtmlTree div = new HtmlTree(HtmlTag.DIV);
              div.addStyle(HtmlStyle.indexContainer);
              profpackgen.addClassListing(div, profileValue);
              body.addContent(div);
              profpackgen.printHtmlDocument(
                      configuration.metakeywords.getMetaKeywords(packageDoc), false, body);
              profpackgen.close();
          } catch (IOException exc) {
              configuration.standardmessage.error(
                      "doclet.exception_encountered",
                      exc.toString(), DocPaths.PACKAGE_FRAME.getPath());
              throw new DocletAbortException(exc);
          }
      }
docs: Generate a profile package summary page for the left-hand bottom frame. Construct
  the ProfilePackageFrameWriter object and then uses it generate the file.
  
  @param configuration the current configuration of the doclet.
  @param packageDoc The package for which "profilename-package-frame.html" is to be generated.
  @param profileValue the value of the profile being documented