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 shouldThrowExceptionWhenCommandIsEmpty() {
        String jobWithCommand =
                """
                        <job name="functional">
                              <tasks>
                                <exec command="" arguments="" />
                              </tasks>
                            </job>
                        """;
        String configWithInvalidCommand = withCommand(jobWithCommand);

        assertThatThrownBy(() -> xmlLoader.deserializeConfig(configWithInvalidCommand))
            .as("Should not allow empty command")
            .hasMessageContaining("Command is invalid. \"\" should conform to the pattern - \\S(.*\\S)?");
    }