public static List<PathWithAttributes> deepListContents(final Path path,
                                                            final boolean parallel,
                                                            final FileVisitOption... fileVisitOptions) {
        return deepListContents(path, parallel, null, fileVisitOptions);
    }
Recursively list the contents of path, acquiring the file attributes at the same time to
avoid subsequent calls down to the file system for things like {@link Files#isDirectory(Path, LinkOption...)}.

<p>
Only use this if you need the file attributes of most of the files or you want to filter
on the file attributes.
</p>
<p>
Includes path in the output
</p>
stroom-util/src/main/java/stroom/util/io/FileUtil.java