code: public static void indexClasspath(final URLClassLoader classLoader, final Indexer indexer, final List<File> knownFiles) {
  
          // Variant that works with Maven "exec:java"
          final List<File> classPathFiles = Utils4J.localFilesFromUrlClassLoader(classLoader);
          for (final File file : classPathFiles) {
              if (Utils4J.nonJreJarFile(file)) {
                  indexJar(indexer, knownFiles, file);
              } else if (file.isDirectory() && !file.getName().startsWith(".")) {
                  indexDir(indexer, knownFiles, file);
              }
          }
  
          // Variant that works for Maven surefire tests
          for (final File file : Utils4J.classpathFiles(Utils4J::nonJreJarFile)) {
              indexJar(indexer, knownFiles, file);
          }
          for (final File file : Utils4J.classpathFiles(Utils4J::classFile)) {
              indexClassFile(indexer, knownFiles, file);
          }
  
      }
docs: Indexes all classes in the classpath (*.jar or *.class).
  
  @param classLoader
  Class loader to use.
  @param indexer
  Indexer to use.
  @param knownFiles
  List of files already analyzed. New files will be added within this method.