private bool GenerateAssembly(IContext context)
        {
            try
            {
                IDomainMap domainMap = context.DomainMap;
                ModelToCodeTransformer modelToCodeTransformer = new ModelToCodeTransformer() ;
                CodeDomProvider provider = null;
                SyntaxBoxConfigurator config = new SyntaxBoxConfigurator(codeTextBox.SyntaxBoxControl) ;
                if (domainMap.CodeLanguage == CodeLanguage.CSharp)
                {
                    provider = new CSharpCodeProvider();
                    config.SetupCSharp() ;
                }
                else if (domainMap.CodeLanguage == CodeLanguage.VB)
                {
                    provider = new VBCodeProvider();
                    config.SetupVBNet() ;
                }
                else
                    throw new IAmOpenSourcePleaseImplementMeException() ;

                string code = modelToCodeTransformer.ToCode(domainMap, provider);
                codeTextBox.Text = code;

                CompilerResults cr = modelToCodeTransformer.ToCompilerResults(domainMap, provider);
                if (cr.Errors.Count > 0)
                {
                    DisplayCompilerErrors(cr);
                    MessageBox.Show("Domain model could not be compiled! The exceptions given by the compiler can be seen in the Errors list. ");
                    domain = null;
                }
                else
                {
                    domain = cr.CompiledAssembly;
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Domain model could not be compiled! The compiler gave the following exception: " + ex.ToString() );
                domain = null;
            }
            if (domain == null)
                return false;

            return true;
        }
 public void SetupVBNet()
 {
     SyntaxBoxConfigurator syntaxBoxConfigurator = new SyntaxBoxConfigurator(syntaxBoxControl1);
     syntaxBoxConfigurator.SetupVBNet() ;
 }