static Set<File> listFiles(File folder, Directories.FileType... types) {
   Collection<Directories.FileType> match = Arrays.asList(types);
   return new LogAwareFileLister(
           folder.toPath(), (file, type) -> match.contains(type), Directories.OnTxnErr.IGNORE)
       .list()
       .stream()
       .map(
           f -> {
             try {
               return f.getCanonicalFile();
             } catch (IOException e) {
               throw new IOError(e);
             }
           })
       .collect(Collectors.toSet());
 }