@Test
    void testMkDirs() {
        final Path rootDir = tempDir;
        assertThat(FileSystemUtil.mkdirs(rootDir, rootDir.resolve(FileSystemTestUtil.getUniqueTestString())))
                .withFailMessage("Should be OK to create a dir off the root")
                .isTrue();
        final Path nonExistingRoot = rootDir.resolve(FileSystemTestUtil.getUniqueTestString());
        assertThat(FileSystemUtil
                .mkdirs(nonExistingRoot, nonExistingRoot.resolve(FileSystemTestUtil.getUniqueTestString() + "/a/b")))
                .withFailMessage("Should be NOT be OK to create a dir off a non existant root")
                .isFalse();

    }
Here we batch up creating a load of directories as under load this can
fail. This is due to mkdirs not being concurrent (so each thread is
trying to create the same dir).
stroom-data/stroom-data-store-impl-fs/src/test/java/stroom/data/store/impl/fs/TestFileSystemUtil.java