Removes all empty directories from a directory. Note that a directory that contains only empty directories, directly or not, will be removed! Recurses depth-first to find the leaf directories which are empty and removes them, then unwinds the recursion stack, removing directorie
(File dir, boolean removeIfEmpty,
Set<File> preservedEmptyDirectories)