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 shouldLoadConfigWithConfigRepoAndConfiguration() throws Exception {
        CruiseConfig cruiseConfig = xmlLoader.loadConfigHolder(configWithConfigRepos(
                """
                          <config-repos>
                            <config-repo id="id1" pluginId="gocd-xml">
                              <git url="https://github.com/tomzo/gocd-indep-config-part.git" />
                              <configuration>
                                <property>
                                  <key>pattern</key>
                                  <value>*.gocd.xml</value>
                                </property>
                              </configuration>
                            </config-repo >
                          </config-repos>
                        """
        )).config;
        assertThat(cruiseConfig.getConfigRepos().size()).isEqualTo(1);
        ConfigRepoConfig configRepo = cruiseConfig.getConfigRepos().get(0);

        assertThat(configRepo.getConfiguration().size()).isEqualTo(1);
        assertThat(configRepo.getConfiguration().getProperty("pattern").getValue()).isEqualTo("*.gocd.xml");
    }