public static String fromPartsAndSeparator(char separator, String... parts) {
        return Arrays.stream(parts)
            .filter(part -> part != null)
            .collect(Collectors.joining(String.valueOf(separator)));
    }
@Test
    void fromPartsAndSeparator() {
        String id = IdUtils.fromPartsAndSeparator('|', "namespace", "flow");
        assertThat(id, notNullValue());
        assertThat(id, is("namespace|flow"));

        String idWithNull = IdUtils.fromPartsAndSeparator('|', null, "namespace", "flow");
        assertThat(idWithNull, notNullValue());
        assertThat(idWithNull, is("namespace|flow"));
    }