public virtual void Initialise(IEnumerable<Type> types) { if (_performanceTimer != Guid.Empty) Timing.StartTimer(_performanceTimer, this.GetType().Name + " Module Initialise", "Sorting types by inheritance"); var sortedTypes = types.GetGenerationsByContentTypeInheritance(); if (_performanceTimer != Guid.Empty) Timing.MarkTimer(_performanceTimer, "Starting Content Type Sync for module " + this.GetType().Name); CodeFirstManager.Current.Log("Initialising content types", this); foreach (var generation in sortedTypes) { SyncContentTypes(generation); } if (CodeFirstManager.Current.Features.InitialisationMode == InitialisationMode.Passive) { if (_performanceTimer != Guid.Empty) Timing.EndTimer(_performanceTimer, "Complete - skipped allowed children and composition sync as InitialisationMode is Passive"); return; } if (_performanceTimer != Guid.Empty) Timing.MarkTimer(_performanceTimer, "Starting Allowed Children and Composition Sync"); CodeFirstManager.Current.Log("Starting Allowed Children and Composition Sync", this); SyncChildrenAndCompositions(sortedTypes); if (_performanceTimer != Guid.Empty) Timing.EndTimer(_performanceTimer, "Complete"); }