### Question:
Retrolambda { static void visitFiles(Path inputDir, List<Path> includedFiles, FileVisitor<Path> visitor) throws IOException { if (includedFiles != null) { visitor = new FilteringFileVisitor(includedFiles, visitor); } Files.walkFileTree(inputDir, visitor); }  static void run(Properties systemProperties); static void run(Config config);  }### Answer:
@Test public void by_default_visits_all_files_recursively() throws IOException { Retrolambda.visitFiles(inputDir, null, visitor); assertThat(visitedFiles, containsInAnyOrder(file1, file2, fileInSubdir)); }
@Test public void when_included_files_is_set_then_visits_only_those_files() throws IOException { List<Path> includedFiles = Arrays.asList(file1, fileInSubdir); Retrolambda.visitFiles(inputDir, includedFiles, visitor); assertThat(visitedFiles, containsInAnyOrder(file1, fileInSubdir)); }
@Test public void ignores_included_files_that_are_outside_the_input_directory() throws IOException { List<Path> includedFiles = Arrays.asList(file1, outsider); Retrolambda.visitFiles(inputDir, includedFiles, visitor); assertThat(visitedFiles, containsInAnyOrder(file1)); }