string GenerateInitializeComponents(CodeMemberMethod codeMethod, string indentation, string newline)
        {
            var writer = new StringWriter();

            writer.NewLine = newline;
            var options = new CodeGeneratorOptions();

            options.IndentString = SD.EditorControlService.GlobalOptions.IndentationString;
            var codeProvider = new Arsslensoft.Al.AlCodeProvider();

            foreach (CodeStatement statement in codeMethod.Statements)
            {
                writer.Write(indentation);
                // indentation isn't generated when calling GenerateCodeFromStatement
                writer.Write(options.IndentString);
                try {
                    codeProvider.GenerateCodeFromStatement(statement, writer, options);
                } catch (Exception e) {
                    writer.WriteLine("// TODO: Error while generating statement : " + e.Message);
                    SD.Log.Error(e);
                }
            }

            return(writer.ToString());
        }
        string GenerateField(CodeMemberField newField)
        {
            StringWriter writer   = new StringWriter();
            var          provider = new Arsslensoft.Al.AlCodeProvider();

            provider.GenerateCodeFromMember(newField, writer, new CodeGeneratorOptions());
            return(writer.ToString().Trim());
        }