public static Expression <Func <ActivityContext, T> > Compile <T>(string expressionText, CodeActivityMetadata metadata)
        {
            HashSet <VisualBasicImportReference> allImportReferences = GetAllImportReferences(metadata.Environment.Root);
            VisualBasicHelper      helper                = new VisualBasicHelper(expressionText);
            HashSet <AssemblyName> refAssemNames         = new HashSet <AssemblyName>();
            HashSet <string>       namespaceImportsNames = new HashSet <string>();

            foreach (VisualBasicImportReference reference in allImportReferences)
            {
                if (reference.EarlyBoundAssembly != null)
                {
                    namespaceImportsNames.Add(reference.Import);
                    if (helper.referencedAssemblies == null)
                    {
                        helper.referencedAssemblies = new HashSet <Assembly>();
                    }
                    helper.referencedAssemblies.Add(reference.EarlyBoundAssembly);
                }
                else
                {
                    if (reference.AssemblyName != null)
                    {
                        refAssemNames.Add(reference.AssemblyName);
                    }
                    namespaceImportsNames.Add(reference.Import);
                }
            }
            helper.Initialize(refAssemNames, namespaceImportsNames);
            return(helper.Compile <T>(metadata));
        }