@Override
    public boolean find(final Path file, final ListProgressListener listener) throws BackgroundException {
        try {
            new EueAttributesFinderFeature(session, fileid).find(file);
            return true;
        }
        catch(NotfoundException e) {
            return false;
        }
    }
@Test
    public void testFind() throws Exception {
        final EueResourceIdProvider fileid = new EueResourceIdProvider(session);
        final Path folder1 = new EueDirectoryFeature(session, fileid).mkdir(new Path(
                new AlphanumericRandomStringService().random(), EnumSet.of(Path.Type.directory)), new TransferStatus());
        assertTrue(new EueFindFeature(session, fileid).find(folder1, new DisabledListProgressListener()));
        // Test case insensitivity
        assertTrue(new EueFindFeature(session, fileid).find(new Path(StringUtils.lowerCase(folder1.getName()), EnumSet.of(Path.Type.directory)), new DisabledListProgressListener()));
        assertTrue(new EueFindFeature(session, fileid).find(new Path(StringUtils.upperCase(folder1.getName()), EnumSet.of(Path.Type.directory)), new DisabledListProgressListener()));
        assertTrue(new DefaultFindFeature(session).find(folder1, new DisabledListProgressListener()));
        final Path folder1Folder2 = new EueDirectoryFeature(session, fileid).mkdir(new Path(folder1,
                new AlphanumericRandomStringService().random(), EnumSet.of(Path.Type.directory)), new TransferStatus());
        assertTrue(new EueFindFeature(session, fileid).find(folder1Folder2, new DisabledListProgressListener()));
        assertTrue(new DefaultFindFeature(session).find(folder1Folder2, new DisabledListProgressListener()));
        final Path folder1Folder2Folder3 = new EueDirectoryFeature(session, fileid).mkdir(new Path(folder1Folder2,
                new AlphanumericRandomStringService().random(), EnumSet.of(Path.Type.directory)), new TransferStatus());
        assertEquals(folder1Folder2Folder3.attributes().getFileId(), new EueResourceIdProvider(session).getFileId(folder1Folder2Folder3));
        assertTrue(new EueFindFeature(session, fileid).find(folder1Folder2Folder3, new DisabledListProgressListener()));
        assertTrue(new DefaultFindFeature(session).find(folder1Folder2Folder3, new DisabledListProgressListener()));
        final Path folder2TestFile = createFile(fileid, new Path(folder1Folder2, new AlphanumericRandomStringService().random(), EnumSet.of(Path.Type.file)), RandomUtils.nextBytes(124));
        assertEquals(folder2TestFile.attributes().getFileId(), new EueResourceIdProvider(session).getFileId(folder2TestFile));
        assertTrue(new EueFindFeature(session, fileid).find(folder2TestFile, new DisabledListProgressListener()));
        // Test case insensitivity
        assertTrue(new EueFindFeature(session, fileid).find(new Path(folder2TestFile.getParent(), StringUtils.lowerCase(folder2TestFile.getName()), EnumSet.of(Path.Type.file)), new DisabledListProgressListener()));
        assertTrue(new EueFindFeature(session, fileid).find(new Path(folder2TestFile.getParent(), StringUtils.upperCase(folder2TestFile.getName()), EnumSet.of(Path.Type.file)), new DisabledListProgressListener()));
        assertTrue(new DefaultFindFeature(session).find(folder2TestFile, new DisabledListProgressListener()));
        final Path folder3TestFile = createFile(fileid, new Path(folder1Folder2Folder3, new AlphanumericRandomStringService().random(), EnumSet.of(Path.Type.file)), RandomUtils.nextBytes(1024));
        assertEquals(folder3TestFile.attributes().getFileId(), new EueResourceIdProvider(session).getFileId(folder3TestFile));
        assertTrue(new EueFindFeature(session, fileid).find(folder3TestFile, new DisabledListProgressListener()));
        assertTrue(new DefaultFindFeature(session).find(folder3TestFile, new DisabledListProgressListener()));
        new EueDeleteFeature(session, fileid).delete(Collections.singletonList(folder1), new DisabledLoginCallback(), new Delete.DisabledCallback());
        assertFalse((new EueFindFeature(session, fileid).find(folder1, new DisabledListProgressListener())));
    }