/// <summary>
        /// Loads configuration tree into PM Page. If an error occurs, this will do nothing
        /// </summary>
        /// <returns>bool representing success of load. If false, PMPage should not open</returns>
        public bool LoadConfigTree()
        {
            LinkNode baseNode = ConfigurationSerialization.LoadBaseNodeFromModel(ActiveSWModel, out bool abortProcess);

            if (abortProcess)
            {
                MessageBox.Show("An error occured loading an existing configuration. Either resolve the issue" +
                                " or delete the configuration from the feature manager");
                return(false);
            }

            SetConfigTree(baseNode);

            IPropertyManagerPageControl loadConfigurationControl = (IPropertyManagerPageControl)PMButtonLoad;

            if (baseNode == null || !baseNode.RebuildLink().AreRequiredFieldsSatisfied())
            {
                loadConfigurationControl.Tip =
                    "Your configuration has not been fully exported. This feature may not work correctly";
            }

            return(true);
        }
 public void SaveConfigTree(ModelDoc2 model, LinkNode BaseNode, bool warnUser)
 {
     CommonSwOperations.RetrieveSWComponentPIDs(model, BaseNode);
     ConfigurationSerialization.SaveConfigTreeXML(swApp, model, BaseNode, warnUser);
 }