protected override void InvokeInternal(CommandProcessorContext cpc) { // make a copy of the artifact in its current state. This is the "update model document". That is, the document after we've run update-model logic on it. var updateModelDocument = XDocument.Parse(_artifact.XDocument.ToString(), LoadOptions.PreserveWhitespace); var dispatcher = new UpdateModelFromDBExtensionDispatcher( WizardKind.UpdateModel, _fromDbDocument, _artifact.XDocument, _projectItem, _originalDocument, updateModelDocument); dispatcher.Dispatch(); _settings.HasExtensionChangedModel = dispatcher.HasCurrentChanged; }