public CruiseConfig deserializeConfig(String content) throws Exception {
        String md5 = md5Hex(content);
        Element element = parseInputStream(new ByteArrayInputStream(content.getBytes()));
        LOGGER.debug("[Config Save] Updating config cache with new XML");

        CruiseConfig configForEdit = classParser(element, BasicCruiseConfig.class, configCache, new GoCipher(), registry, new ConfigReferenceElements()).parse();
        setMd5(configForEdit, md5);
        configForEdit.setOrigins(new FileConfigOrigin());
        return configForEdit;
    }
@Test
    void shouldLoadExecBuilder() throws Exception {

        CruiseConfig cruiseConfig = xmlLoader.deserializeConfig(CONFIG_WITH_NANT_AND_EXEC_BUILDER);
        JobConfig plan = cruiseConfig.jobConfigByName("pipeline1", "mingle", "cardlist", true);
        ExecTask builder = (ExecTask) plan.tasks().findFirstByType(ExecTask.class);
        assertThat(builder).isEqualTo(new ExecTask("ls", "-la", "workdir"));

        builder = (ExecTask) plan.tasks().get(2);
        assertThat(builder).isEqualTo(new ExecTask("ls", "", (String) null));
    }