private IEnumerable <CodeNamespace> GenerateCode()
        {
            var hierarchy = NamespaceHierarchyItem.Build(Namespaces.Values.GroupBy(x => x.Name).SelectMany(x => x))
                            .MarkAmbiguousNamespaceTypes();

            return(hierarchy.Flatten()
                   .Select(nhi => NamespaceModel.Generate(nhi.FullName, nhi.Models)));
        }