public static String toIdString(String name) {
        if (name == null) {
            return "";
        }
        return name.replaceAll("[\\s_\\\\/:<>\"\\|\\?\\*]", "-").toLowerCase();
    }
@Test
    void testToIdString() {
        assertEquals("foo-bar", StringUtils.toIdString("foo_bar"));
        assertEquals("foo-bar", StringUtils.toIdString("foo_bar"));
        assertEquals("foo-bar", StringUtils.toIdString("foo bar"));
        assertEquals("foo--bar", StringUtils.toIdString("foo//bar"));
        assertEquals("foo-bar", StringUtils.toIdString("foo\\bar"));
        assertEquals("foo-bar", StringUtils.toIdString("foo:bar"));
        assertEquals("foo-bar", StringUtils.toIdString("foo?bar"));
        assertEquals("foo-bar", StringUtils.toIdString("foo\"bar"));
        assertEquals("foo-bar", StringUtils.toIdString("foo*bar"));
        assertEquals("foo-bar", StringUtils.toIdString("foo|bar"));
        assertEquals("foo--bar", StringUtils.toIdString("foo<>bar"));
        assertEquals("", StringUtils.toIdString(null)); // TODO
    }