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 shouldNotLoadConfigWithEmptyTemplates() {
        String content = configWithTemplates(
                "<templates>\n"
                        + "</templates>");

        assertThatThrownBy(() -> xmlLoader.loadConfigHolder(content))
            .as("Should not allow empty templates block")
            .hasMessageContaining("The content of element 'templates' is not complete. One of '{pipeline}' is expected.");
    }