@Override
    public AttributedList<Path> list(final Path directory, final ListProgressListener listener) throws BackgroundException {
        return this.list(directory, listener, new HostPreferences(session.getHost()).getInteger("eue.listing.chunksize"));
    }
@Test
    public void testListContainingFile() throws Exception {
        final EueResourceIdProvider fileid = new EueResourceIdProvider(session);
        final Path folder = new EueDirectoryFeature(session, fileid).mkdir(
                new Path(new AlphanumericRandomStringService().random(), EnumSet.of(directory)), new TransferStatus());
        assertTrue(new EueListService(session, fileid).list(folder, new DisabledListProgressListener()).isEmpty());
        final String filename = String.format("%s%s", new AlphanumericRandomStringService().random(), new NFDNormalizer().normalize("ä"));
        final Path file = new EueTouchFeature(session, fileid)
                .touch(new Path(folder, filename, EnumSet.of(Path.Type.file)), new TransferStatus().withLength(0L));
        final AttributedList<Path> list = new EueListService(session, fileid).list(folder, new DisabledListProgressListener());
        assertFalse(list.isEmpty());
        assertNotNull(list.find(new DefaultPathPredicate(file)));
        // Preserving Unicode normalization
        assertEquals(filename, list.find(new DefaultPathPredicate(file)).getName());
        assertEquals(file.attributes().getFileId(), list.get(file).attributes().getFileId());
        assertSame(folder, list.get(file).getParent());
        new EueDeleteFeature(session, fileid).delete(Collections.singletonList(folder), new DisabledLoginCallback(), new Delete.DisabledCallback());
        assertFalse((new EueFindFeature(session, fileid).find(folder, new DisabledListProgressListener())));
        assertFalse((new EueFindFeature(session, fileid).find(file, new DisabledListProgressListener())));
    }