private bool LoadEditorConfig(PropertyConfig baseline, BaselineType type, bool alwaysOverwrite = false)
        {
            if (!alwaysOverwrite)
            {
                string question = null;
                if (CompareEditorToBaseline(allowOverride: false))
                {
                    question = "Do you want to discard the changes you have made?";
                }
                else if (EditorBaselineType == BaselineType.Installed &&
                         type != BaselineType.Installed)
                {
                    question = "Do you want to discard the installed property values?";
                }

                if (question != null)
                {
                    var result = MessageBox.Show(question,
                                                 "All data in the editor will be overwritten", MessageBoxButton.YesNo);
                    if (result == MessageBoxResult.No)
                    {
                        return(false);
                    }
                }
            }

            IsBulkUpdating = true;
            EditorConfig.CopyFrom(baseline, type == BaselineType.Installed);
            IsBulkUpdating     = false;
            EditorBaseline     = baseline;
            EditorBaselineType = type;
            CheckIfEditorDirty();
            RefreshEditorStatus();

            switch (EditorBaselineType)
            {
            case BaselineType.Standalone:
            case BaselineType.Saved:
                CompareSaved = true;
                break;

            case BaselineType.Installed:
                CompareInstalled = true;
                break;
            }

            return(true);
        }