code: public Map<String, Integer> getPackageUseFrequencies(ProjectModel projectModel, Set<String> includeTags, Set<String> excludeTags, int nameDepth,
                  boolean recursive)
      {
          ExecutionStatistics.get().begin("TypeReferenceService.getPackageUseFrequencies(projectModel,nameDepth,recursive)");
          Map<String, Integer> packageUseCount = new HashMap<>();
          getPackageUseFrequencies(packageUseCount, projectModel, includeTags, excludeTags, nameDepth, recursive);
          ExecutionStatistics.get().end("TypeReferenceService.getPackageUseFrequencies(projectModel,nameDepth,recursive)");
          return packageUseCount;
      }
docs: Returns the list of most frequently hinted packages (based upon JavaInlineHintModel references) within the given ProjectModel. If recursive is
  set to true, then also include child projects.
  
  nameDepth controls how many package levels to include (com.* vs com.example.* vs com.example.sub.*)