public GoConfigHolder loadConfigHolder(final String content, Callback callback) throws Exception {
        CruiseConfig configForEdit;
        CruiseConfig config;
        LOGGER.debug("[Config Save] Loading config holder");
        configForEdit = deserializeConfig(content);
        if (callback != null) callback.call(configForEdit);
        config = preprocessAndValidate(configForEdit);

        return new GoConfigHolder(config, configForEdit);
    }
@Test
    void shouldLoadHgConfigWithBranchAttributePostSchemaVersion123() throws Exception {
        String content = config(
                """
                        <config-repos>
                            <config-repo id="Test" pluginId="cd.go.json">
                                <hg url="https://domain.com" branch="feature" />
                             </config-repo>
                        </config-repos>
                        <pipelines group="first">
                            <pipeline name="Test" template="test_template">
                              <materials>
                                  <hg url="https://domain.com" branch="feature" />
                              </materials>
                             </pipeline>
                        </pipelines>
                        <templates>
                            <pipeline name="test_template">
                              <stage name="Functional">
                                <jobs>
                                  <job name="Functional">
                                    <tasks>
                                      <exec command="echo" args="Hello World!!!" />
                                    </tasks>
                                   </job>
                                </jobs>
                              </stage>
                            </pipeline>
                        </templates>""", CONFIG_SCHEMA_VERSION);

        CruiseConfig config = xmlLoader.loadConfigHolder(content).config;

        PipelineConfig pipelineConfig = config.getPipelineConfigByName(new CaseInsensitiveString("Test"));
        assertThat(pipelineConfig.materialConfigs()).hasSize(1);
        assertThat(((HgMaterialConfig) pipelineConfig.materialConfigs().get(0)).getBranch()).isEqualTo("feature");

        assertThat(config.getConfigRepos()).hasSize(1);
        assertThat(((HgMaterialConfig) config.getConfigRepos().get(0).getRepo()).getBranch()).isEqualTo("feature");

    }