public static async Task <HashSet <string> > GetAllNamespacesAsync(
            this VisualStudioWorkspace workspace
            )
        {
            if (workspace is null)
            {
                throw new ArgumentNullException(nameof(workspace));
            }

            var typeDict = await workspace.GetAllTypesInNamespaceRecursivelyAsync(null);

            var allSolutionNamespaces = typeDict.Values.Select(t => t.ContainingNamespace.ToDisplayString()).ToHashSet();

            return(allSolutionNamespaces);
        }