code: private void startGeneration(DocletEnvironment docEnv) throws DocletException {
          if (configuration.getIncludedTypeElements().isEmpty()) {
              messages.error("doclet.No_Public_Classes_To_Document");
              return;
          }
          if (!configuration.setOptions()) {
              return;
          }
          messages.notice("doclet.build_version",
              configuration.getDocletSpecificBuildDate());
          ClassTree classtree = new ClassTree(configuration, configuration.nodeprecated);
  
          generateClassFiles(docEnv, classtree);
  
          PackageListWriter.generate(configuration);
          generatePackageFiles(classtree);
          generateModuleFiles();
  
          generateOtherFiles(docEnv, classtree);
          configuration.tagletManager.printReport();
      }
docs: Start the generation of files. Call generate methods in the individual
  writers, which will in turn generate the documentation files. Call the
  TreeWriter generation first to ensure the Class Hierarchy is built
  first and then can be used in the later generation.
  
  @see jdk.doclet.DocletEnvironment
  @throws DocletException if there is a problem while generating the documentation