private Type GetGeneratedType(string objectName, RootObjectDefinition definition)
        {
            lock (typeCache.SyncRoot)
            {
                Type generatedType = (Type)typeCache[objectName];
                if (generatedType == null)
                {
                    #region Instrumentation

                    if (log.IsDebugEnabled)
                    {
                        log.Debug(string.Format(CultureInfo.InvariantCulture,
                                                "Generating a subclass of the [{0}] class for the '{1}' " +
                                                "object definition for the purposes of method injection.",
                                                definition.ObjectType, objectName));
                    }

                    #endregion

                    ModuleBuilder module = DynamicCodeManager.GetModuleBuilder(DYNAMIC_ASSEMBLY_NAME);
                    generatedType         = new MethodInjectingTypeBuilder(module, definition).BuildType();
                    typeCache[objectName] = generatedType;
                }
                return(generatedType);
            }
        }
		private Type GetGeneratedType(string objectName, RootObjectDefinition definition)
		{
			lock (typeCache.SyncRoot)
			{
                Type generatedType = (Type) typeCache[objectName];			    
				if (generatedType == null)
				{
					#region Instrumentation

					if (log.IsDebugEnabled)
					{
						log.Debug(string.Format(CultureInfo.InvariantCulture,
						                        "Generating a subclass of the [{0}] class for the '{1}' " +
						                        	"object definition for the purposes of method injection.",
						                        definition.ObjectType, objectName));
					}

					#endregion

                    ModuleBuilder module = DynamicCodeManager.GetModuleBuilder(DYNAMIC_ASSEMBLY_NAME);
                    generatedType = new MethodInjectingTypeBuilder(module, definition).BuildType();
					typeCache[objectName] = generatedType;
				}
                return generatedType;
            }
		}