private static IDisposable GenerateEnclosingNamemspaces(CodeWriter outerWriter, SyntaxNode node) =>
 outerWriter.EnclosingBlockWriter <NamespaceDeclarationSyntax>(node, EminNamespaceDeclaratioText);
 public static IDisposable EnclosingBlockWriter <T>(this CodeWriter writer, SyntaxNode node,
                                                    Action <CodeWriter, T> writeBlockHeader) where T : SyntaxNode =>
 writer.EnclosingBlockWriter(node, writeBlockHeader, writeBlockHeader);
 public static IDisposable GenerateEnclosingClasses(this CodeWriter writer, SyntaxNode node,
                                                    string innermostSuffix) =>
 writer.EnclosingBlockWriter <TypeDeclarationSyntax>(node,
                                                     (cw, cd) => WriteSingleClassDecl(cw, cd, ""),
                                                     (cw, cd) => WriteSingleClassDecl(cw, cd, innermostSuffix));