code: private List<TemplateFile> collectTemplateFiles(Path dir) throws IOException {
      final List<TemplateFile> paths = new ArrayList<>();
      for (Path path : scanFilesMatching(dir, "glob:**.java")) {
        paths.add(new TemplateFile(path));
      }
      return paths;
    }
docs: Collect all template files from this and subdirectories.