@Override
    public Path mkdir(final Path folder, final TransferStatus status) throws BackgroundException {
        try {
            Files.createDirectory(session.toPath(folder));
        }
        catch(IOException e) {
            throw new LocalExceptionMappingService().map("Cannot create folder {0}", e, folder);
        }
        return folder;
    }
@Test
    public void testCreateFolder() throws Exception {
        final LocalSession session = new LocalSession(new Host(new LocalProtocol(), new LocalProtocol().getDefaultHostname()));
        session.open(new DisabledProxyFinder(), new DisabledHostKeyCallback(), new DisabledLoginCallback(), new DisabledCancelCallback());
        session.login(new DisabledLoginCallback(), new DisabledCancelCallback());
        final Path folder = new Path(new LocalHomeFinderFeature().find(), UUID.randomUUID().toString(), EnumSet.of(Path.Type.directory));
        new LocalDirectoryFeature(session).mkdir(folder, new TransferStatus());
        assertTrue(Files.exists(session.toPath(folder)));
        assertThrows(ConflictException.class, () -> new LocalDirectoryFeature(session).mkdir(folder, new TransferStatus()));
        new LocalDeleteFeature(session).delete(Collections.singletonList(folder), new DisabledLoginCallback(), new Delete.DisabledCallback());
        assertFalse(Files.exists(session.toPath(folder)));
    }