public static AggregateOperation1<CharSequence, StringBuilder, String> concatenating() {
        return AggregateOperation
                .withCreate(StringBuilder::new)
                .<CharSequence>andAccumulate(StringBuilder::append)
                .andCombine(StringBuilder::append)
                .andExportFinish(StringBuilder::toString);
    }
@Test
    public void when_concatenatingEmptyItems_withDelimiterPrefixSuffix() {
        validateOpWithoutDeduct(
                concatenating(",", "(", ")"),
                StringBuilder::toString,
                "A",
                "",
                "(A",
                "(A",
                "(A)"
        );
        validateOpWithoutDeduct(
                concatenating(",", "(", ")"),
                StringBuilder::toString,
                "",
                "B",
                "(",
                "(B",
                "(B)"
        );
        validateOpWithoutDeduct(
                concatenating(",", "(", ")"),
                StringBuilder::toString,
                "",
                "",
                "(",
                "(",
                "()"
        );
    }