code: public boolean scanDir(String dirname) {
          Path base = Paths.get(dirname);
          int baseCount = base.getNameCount();
          finder.addDir(dirname);
          try (Stream<Path> paths = Files.walk(Paths.get(dirname))) {
              List<Path> classes =
                  paths.filter(p -> p.getNameCount() > baseCount)
                       .filter(path -> path.toString().endsWith(".class"))
                       .filter(path -> !path.toString().endsWith("package-info.class"))
                       .filter(path -> !path.toString().endsWith("module-info.class"))
                       .collect(Collectors.toList());
  
              out.println(Messages.get("scan.head.dir", dirname));
  
              for (Path p : classes) {
                  processClass(ClassFile.read(p));
              }
              return true;
          } catch (IOException | ConstantPoolException ex) {
              errorException(ex);
              return false;
          }
      }
docs: Scans class files in the named directory hierarchy for uses of deprecated APIs.
  
  @param dirname the directory hierarchy to process
  @return true on success, false on failure