docs: @Override
      void open(final WorkQueue<ClasspathEntryWorkUnit> workQueue, final LogNode log) {
          if (!scanSpec.scanDirs) {
              if (log != null) {
                  log.log("Skipping classpath element, since dir scanning is disabled: " + classpathEltDir);
              }
              skipClasspathElement = true;
              return;
          }
          try {
              // Auto-add nested lib dirs
              int childClasspathEntryIdx = 0;
              for (final String libDirPrefix : ClassLoaderHandlerRegistry.AUTOMATIC_LIB_DIR_PREFIXES) {
                  final File libDir = new File(classpathEltDir, libDirPrefix);
                  if (libDir.exists() && libDir.isDirectory()) {
                      // Sort directory entries for consistency
                      final File[] listFiles = libDir.listFiles();
                      if (listFiles != null) {
                          Arrays.sort(listFiles);
                          // Add all jarfiles within lib dir as child classpath entries
                          for (final File file : listFiles) {
                              if (file.isFile() && file.getName().endsWith(".jar")) {
                                  if (log != null) {
                                      log.log("Found lib jar: " + file);
                                  }
                                  workQueue.addWorkUnit(new ClasspathEntryWorkUnit(
                                          /* rawClasspathEntry = */ //
                                          new SimpleEntry<>(file.getPath(), classLoader),
                                          /* parentClasspathElement = */ this,
                                          /* orderWithinParentClasspathElement = */ childClasspathEntryIdx++));
                              }
                          }
                      }
                  }
              }
              for (final String packageRootPrefix : ClassLoaderHandlerRegistry.AUTOMATIC_PACKAGE_ROOT_PREFIXES) {
                  final File packageRootDir = new File(classpathEltDir, packageRootPrefix);
                  if (packageRootDir.exists() && packageRootDir.isDirectory()) {
                      if (log != null) {
                          log.log("Found package root: " + packageRootDir);
                      }
                      workQueue
                              .addWorkUnit(new ClasspathEntryWorkUnit(
                                      /* rawClasspathEntry = */ new SimpleEntry<>(packageRootDir.getPath(),
                                              classLoader),
                                      /* parentClasspathElement = */ this,
                                      /* orderWithinParentClasspathElement = */ childClasspathEntryIdx++));
                  }
              }
          } catch (final SecurityException e) {
              if (log != null) {
                  log.log("Skipping classpath element, since dir cannot be accessed: " + classpathEltDir);
              }
              skipClasspathElement = true;
              return;
          }
      }