public string Generate(string source)
        {
            var sb = new SourceBuilder();

            foreach (var name in DeltaCore.GetNamespaces())
            {
                sb += $"using {name};";
            }

            var startLength       = sb.Length;
            var root              = CSharpSyntaxTree.ParseText(source).GetCompilationUnitRoot();
            var classDeclarations = root.DescendantNodes().OfType <ClassDeclarationSyntax>();

            foreach (var classDeclaration in classDeclarations)
            {
                GenerateClass(classDeclaration, sb);
            }

            return(startLength == sb.Length ? null : sb.ToString());
        }