docs: static Set<Path> findFiles(final String logDir, final ModelNode model, final boolean relativize) throws IOException {
          if (logDir == null) {
              return Collections.emptySet();
          }
          // Get the list of valid file names
          final Collection<String> validFileNames = findValidFileNames(model);
          final Set<Path> logFiles = new TreeSet<>();
          final Path dir = Paths.get(logDir);
          Files.walkFileTree(dir, Collections.singleton(FileVisitOption.FOLLOW_LINKS), Integer.MAX_VALUE, new SimpleFileVisitor<Path>() {
              boolean first = true;
  
              @Override
              public FileVisitResult preVisitDirectory(final Path dir, final BasicFileAttributes attrs) {
                  if (first || relativize) {
                      first = false;
                      return FileVisitResult.CONTINUE;
                  }
                  return FileVisitResult.SKIP_SUBTREE;
              }
  
              @Override
              public FileVisitResult visitFileFailed(final Path file, final IOException exc) throws IOException {
                  // If the file was simply not readable we can just skip it, otherwise we should fail
                  if (Files.isReadable(file)) {
                      throw exc;
                  }
                  // The is likely just not readable so we can just continue
                  return FileVisitResult.CONTINUE;
              }
  
              @Override
              public FileVisitResult visitFile(final Path file, final BasicFileAttributes attrs) {
                  final Path relativeFile = dir.relativize(file);
                  final String resourceName = relativeFile.toString();
                  // Check each valid file name, rotated files will just start with the name
                  for (String name : validFileNames) {
                      if ((resourceName.equals(name) || resourceName.startsWith(name)) && Files.isReadable(file)) {
                          if (relativize) {
                              logFiles.add(relativeFile);
                          } else {
                              logFiles.add(file);
                          }
                      }
                  }
                  return FileVisitResult.CONTINUE;
              }
          });
          return logFiles;
      }