@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 testListRoot() throws Exception {
        final EueResourceIdProvider fileid = new EueResourceIdProvider(session);
        final Path root = new Path("/", EnumSet.of(directory));
        final Path folder = new EueDirectoryFeature(session, fileid).mkdir(
                new Path(root, new AlphanumericRandomStringService().random(), EnumSet.of(directory)), new TransferStatus());
        final AttributedList<Path> list = new EueListService(session, fileid).list(folder.getParent(), new DisabledListProgressListener());
        assertNotNull(list.find(new SimplePathPredicate(folder)));
        for(Path bucket : list) {
            assertEquals(bucket.attributes(), new EueAttributesFinderFeature(session, fileid).find(bucket, new DisabledListProgressListener()));
        }
        assertNotNull(list.find(f -> f.attributes().getFileId().equals(EueResourceIdProvider.TRASH)));
        assertTrue(list.contains(new Path("Gelöschte Dateien", EnumSet.of(directory)).withAttributes(new PathAttributes().withFileId("TRASH"))));
        assertEquals(folder.attributes().getFileId(), list.find(new SimplePathPredicate(folder)).attributes().getFileId());
        assertSame(root, list.find(new SimplePathPredicate(folder)).getParent());
        new EueDeleteFeature(session, fileid).delete(Collections.singletonList(folder), new DisabledLoginCallback(), new Delete.DisabledCallback());
    }