private static void copy(Path source, Path dest) {
        try {
            Files.copy(source, dest);
        } catch (final IOException e) {
            throw new UncheckedIOException(e);
        }
    }
Obtains a write lock on lockFilePath then runs the work. Creates lockFilePath
if it doesn't exist. Will block if another thread/jvm holds a lock on the same
file.
stroom-util/src/main/java/stroom/util/io/FileUtil.java