internal static void GenerateCodeFromSerializedData(object data)
        {
            if (data == null || !traceDSO.TraceVerbose)
            {
                return;
            }

            if (data is CodeTypeDeclaration)
            {
                ICodeGenerator codeGenerator = new Microsoft.CSharp.CSharpCodeProvider().CreateGenerator();
                StringWriter   sw            = new StringWriter();
                Debug.WriteLine("********************** Serialized Data Block ********************************");
                Debug.Indent();
                codeGenerator.GenerateCodeFromType((CodeTypeDeclaration)data, sw, null);

                // spit this line by line so it respects the indent.
                //
                StringReader sr = new StringReader(sw.ToString());
                for (string ln = sr.ReadLine(); ln != null; ln = sr.ReadLine())
                {
                    Debug.WriteLine(ln);
                }
                Debug.Unindent();
                Debug.WriteLine("********************** End Serialized Data Block ********************************");
            }
        }