code: private void buildTree(Iterable<TypeElement> classes) {
          for (TypeElement aClass : classes) {
              // In the tree page (e.g overview-tree.html) do not include
              // information of classes which are deprecated or are a part of a
              // deprecated package.
              if (configuration.nodeprecated &&
                      (utils.isDeprecated(aClass) ||
                      utils.isDeprecated(utils.containingPackage(aClass)))) {
                  continue;
              }
  
              if (utils.isHidden(aClass)) {
                  continue;
              }
  
              if (utils.isEnum(aClass)) {
                  processType(aClass, configuration, baseEnums, subEnums);
              } else if (utils.isClass(aClass)) {
                  processType(aClass, configuration, baseClasses, subClasses);
              } else if (utils.isInterface(aClass)) {
                  processInterface(aClass);
              } else if (utils.isAnnotationType(aClass)) {
                  processType(aClass, configuration, baseAnnotationTypes,
                      subAnnotationTypes);
              }
          }
      }
docs: Generate mapping for the sub-classes for every class in this run.
  Return the sub-class set for java.lang.Object which will be having
  sub-class listing for itself and also for each sub-class itself will
  have their own sub-class lists.
  
  @param classes all the classes in this run.
  @param configuration the current configuration of the doclet.