@Override
    public void delete(final Map<Path, TransferStatus> files, final PasswordCallback prompt, final Callback callback) throws BackgroundException {
        for(Path f : files.keySet()) {
            try {
                new FilesApi(new BrickApiClient(session)).deleteFilesPath(
                    StringUtils.removeStart(f.getAbsolute(), String.valueOf(Path.DELIMITER)), f.isDirectory());
            }
            catch(ApiException e) {
                throw new BrickExceptionMappingService().map("Cannot delete {0}", e, f);
            }
        }
    }
@Test
    @Ignore
    public void testDeleteRecursively() throws Exception {
        final Path room = new BrickDirectoryFeature(session).mkdir(new Path(
            new AlphanumericRandomStringService().random(), EnumSet.of(Path.Type.directory, Path.Type.volume)), new TransferStatus());
        final Path folder = new BrickDirectoryFeature(session).mkdir(new Path(room,
            new AlphanumericRandomStringService().random().toLowerCase(), EnumSet.of(Path.Type.directory)), new TransferStatus());
        assertTrue(new BrickFindFeature(session).find(folder));
        final Path file = new Path(folder, new AlphanumericRandomStringService().random(), EnumSet.of(Path.Type.file));
        new BrickTouchFeature(session).touch(file, new TransferStatus());
        assertTrue(new BrickFindFeature(session).find(file));
        new BrickDeleteFeature(session).delete(Collections.singletonList(folder), new DisabledLoginCallback(), new Delete.DisabledCallback());
        assertFalse(new BrickFindFeature(session).find(folder));
        new BrickDeleteFeature(session).delete(Collections.singletonList(room), new DisabledLoginCallback(), new Delete.DisabledCallback());
        assertFalse(new BrickFindFeature(session).find(room));
    }