@Override
    public boolean find(final Path file, final ListProgressListener listener) throws BackgroundException {
        if(file.isRoot()) {
            return true;
        }
        try {
            final Path found = this.search(file, listener);
            return found != null;
        }
        catch(NotfoundException e) {
            if(log.isDebugEnabled()) {
                log.debug(String.format("Parent directory for file %s not found", file));
            }
            return false;
        }
    }
@Test
    public void testFindPlaceholder() throws Exception {
        assertTrue(new DefaultFindFeature(new NullSession(new Host(new TestProtocol())) {
            @Override
            public AttributedList<Path> list(final Path file, final ListProgressListener listener) {
                return new AttributedList<>(Collections.singletonList(new Path("/a/b", EnumSet.of(Path.Type.directory, Path.Type.placeholder))));
            }
        }).find(new Path("/a/b", EnumSet.of(Path.Type.directory))));
    }