@Override
    public boolean accept(final Path file) {
        if(list.find(new SimplePathPredicate(file)) != null) {
            return true;
        }
        for(Path f : list) {
            if(f.isChild(file)) {
                return true;
            }
        }
        if(log.isDebugEnabled()) {
            log.debug(String.format("Filter %s", file));
        }
        return false;
    }
@Test
    public void testAcceptFileVersions() {
        final RecursiveSearchFilter f = new RecursiveSearchFilter(new AttributedList<>(Arrays.asList(new Path("/f", EnumSet.of(Path.Type.file)))));
        assertTrue(f.accept(new Path("/f", EnumSet.of(Path.Type.file), new PathAttributes().withVersionId("1"))));
    }