docs: private void indexResourcesAndClassInfo() {
          // Add backrefs from Info objects back to this ScanResult
          final Collection<ClassInfo> allClassInfo = classNameToClassInfo.values();
          for (final ClassInfo classInfo : allClassInfo) {
              classInfo.setScanResult(this);
          }
  
          // If inter-class dependencies are enabled, create placeholder ClassInfo objects for any referenced
          // classes that were not scanned
          if (scanSpec.enableInterClassDependencies) {
              for (final ClassInfo ci : new ArrayList<>(classNameToClassInfo.values())) {
                  final Set<ClassInfo> refdClasses = new HashSet<>();
                  for (final String refdClassName : ci.findReferencedClassNames()) {
                      // Don't add circular dependencies
                      if (!ci.getName().equals(refdClassName)) {
                          // Get ClassInfo object for the named class, or create one if it doesn't exist
                          final ClassInfo refdClassInfo = ClassInfo.getOrCreateClassInfo(refdClassName,
                                  /* classModifiers are unknown */ 0, classNameToClassInfo);
                          refdClassInfo.setScanResult(this);
                          if (!refdClassInfo.isExternalClass() || scanSpec.enableExternalClasses) {
                              // Only add class to result if it is whitelisted, or external classes are enabled
                              refdClasses.add(refdClassInfo);
                          }
                      }
                  }
                  ci.setReferencedClasses(new ClassInfoList(refdClasses, /* sortByName = */ true));
              }
          }
      }