docs: public static void visit(File directory, Predicate<File> predicate, Visitor<File> visitor)
      {
          if (directory.exists())
          {
              List<File> files = visit(directory, predicate);
              for (File file : files)
              {
                  visitor.visit(file);
              }
          }
      }