### Question:
IOUtils { public static void deleteRecursively(Path rootDir) throws IOException { if (rootDir == null || !Files.exists(rootDir)) { return; } Files.walkFileTree(rootDir, new SimpleFileVisitor<Path>() { @Override public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException { Files.delete(file); return FileVisitResult.CONTINUE; } @Override public FileVisitResult postVisitDirectory(Path dir, IOException exc) throws IOException { Files.delete(dir); return FileVisitResult.CONTINUE; } }); } private  IOUtils(); static void deleteRecursively(Path rootDir); static List<Path> listFiles(Path dir, String glob); static void closeQuietly(Closeable closeable); static int chooseFreePort();  }### Answer:
@Test public void testDeleteRecursively() throws IOException { Path testDir = createTestDirs(); IOUtils.deleteRecursively(testDir); assertFalse(Files.exists(testDir)); assertFalse(Files.exists(testDir.resolve("subFile1"))); }