code: void analyze() throws ToolException {
          // compute the specified element, by expanding module dependencies
          computeSpecifiedModules();
  
          // compute all specified packages and subpackages
          computeSpecifiedPackages();
  
          // compute the specified types
          computeSpecifiedTypes();
  
          // compute the packages belonging to all the specified modules
          Set<PackageElement> expandedModulePackages = computeModulePackages();
          initializeIncludedSets(expandedModulePackages);
      }
docs: Performs the final computation and freezes the collections.
  This is a terminal operation, thus no further modifications
  are allowed to the specified data sets.
  
  @throws ToolException if an error occurs