@Override
            public String toUriPath(String root, Iterable<String> names, boolean directory) {
              // need to add extra / to differentiate between paths "/$foo/bar" and "$foo/bar".
              return "/" + toString(root, names);
            }
This path service is for unix-like paths, with the exception that it recognizes $ and ! as
roots in addition to /, allowing for up to three roots. When creating a {@linkplain
PathType#toUriPath URI path}, we prefix the path with / to differentiate between a path like
"$foo/bar" and one like "/$foo/bar". They would become "/$foo/bar" and "//$foo/bar"
respectively.
jimfs/src/test/java/com/google/common/jimfs/FileTreeTest.java