private void LaunchSelectedPractitionerPreview(object practitioner)
        {
            var component = new ExternalPractitionerOverviewComponent {
                PractitionerSummary = (ExternalPractitionerSummary)practitioner
            };

            LaunchAsDialog(this.Host.DesktopWindow, component, SR.TitlePractitioner);
        }
        public override void Start()
        {
            this.Pages.Add(new NavigatorPage(SR.TitleSelectDuplicate, _selectedDuplicateComponent                 = new ExternalPractitionerMergeSelectedDuplicateComponent(_specifiedDuplicatePractitionerRef)));
            this.Pages.Add(new NavigatorPage(SR.TitleResolvePropertyConflicts, _mergePropertiesComponent          = new ExternalPractitionerMergePropertiesComponent()));
            this.Pages.Add(new NavigatorPage(SR.TitleSelectActiveContactPoints, _selectContactPointsComponent     = new ExternalPractitionerSelectDisabledContactPointsComponent()));
            this.Pages.Add(new NavigatorPage(SR.TitleReplaceInactiveContactPoints, _replaceContactPointsComponent = new ExternalPractitionerReplaceDisabledContactPointsComponent()));
            this.Pages.Add(new NavigatorPage(SR.TitlePreviewMergedPractitioner, _confirmationComponent            = new ExternalPractitionerOverviewComponent()));
            this.ValidationStrategy = new AllComponentsValidationStrategy();

            _selectedDuplicateComponent.SelectedPractitionerChanged    += delegate { this.ForwardEnabled = _selectedDuplicateComponent.HasValidationErrors == false; };
            _selectContactPointsComponent.ContactPointSelectionChanged += delegate { this.ForwardEnabled = _selectContactPointsComponent.HasValidationErrors == false; };

            base.Start();

            // Start the component with forward button disabled.
            // The button will be enabled if there is a practitioner selected.
            this.ForwardEnabled = false;

            // Immediately activate validation after component start
            this.ShowValidation(true);
        }