@NonNull
    public List<FilePath> list() throws IOException, InterruptedException {
        return list((FileFilter) null);
    }
@Test public void listWithExcludes() throws Exception {
        File baseDir = temp.getRoot();
            final Set<FilePath> expected = new HashSet<>();
            expected.add(createFilePath(baseDir, "top", "sub", "app.log"));
            createFilePath(baseDir, "top", "sub", "trace.log");
            expected.add(createFilePath(baseDir, "top", "db", "db.log"));
            createFilePath(baseDir, "top", "db", "trace.log");
            final FilePath[] result = new FilePath(baseDir).list("**", "**/trace.log");
            assertEquals(expected, new HashSet<>(Arrays.asList(result)));
    }