protected virtual Boolean CreateInstance(ModuleConfig config) { TypeFabrication moduleType = typeFactory.Fabricate(config.Type); moduleType.BaseType = typeFactory.FindBaseType(moduleType); if (moduleType.FindBaseType() && moduleType.FindCreateType()) { config.Instance = moduleType.Fabricate(); } IEnumerator enumerator = config.PropertyConfigCollection.GetEnumerator(); while (enumerator.MoveNext()) { PropertyConfig propertyConfig = enumerator.Current as PropertyConfig; propertyReferences[propertyConfig.UniqueId] = propertyConfig; propertyConfig.Parent = config; } return(config.Instance != null); }