public void CreateBindMounts(BindMount[] bindMounts, IContainerUser containerUser)
        {
            foreach (var bindMount in bindMounts)
            {
                var mappedDestinationPath = MapUserPath(bindMount.DestinationPath);
                var parentDir             = Directory.GetParent(mappedDestinationPath).FullName;

                if (CanonicalizePath(parentDir, ensureTrailingSlash: true) != MapUserPath(""))
                {
                    fileSystem.CreateDirectory(parentDir, GetContainerUserAccess(containerUser.UserName, FileAccess.ReadWrite));
                }

                var cleanedSourcePath = bindMount.SourcePath.Replace("/", "\\");
                fileSystem.Symlink(mappedDestinationPath, cleanedSourcePath);
                fileSystem.AddDirectoryAccess(mappedDestinationPath, FileAccess.Read, containerUser.UserName);

                fileSystem.AddDirectoryAccess(cleanedSourcePath, FileAccess.Read, containerUser.UserName);

                while (fileSystem.DirIsSymlink(cleanedSourcePath))
                {
                    var symlinkDest = fileSystem.GetSymlinkTarget(cleanedSourcePath);
                    fileSystem.AddDirectoryAccess(symlinkDest, FileAccess.Read, containerUser.UserName);
                    cleanedSourcePath = symlinkDest;
                }
            }
        }