static List<String> splitEscaped(String string, char delimiter) {
        List<Token> tokens = tokenize(checkNotNull(string), delimiter);
        return processTokens(tokens);
    }
@TestTemplate
    void testParse() {

        Optional<String> expectedException = testSpec.getExpectedException();
        if (expectedException.isPresent()) {
            assertThatThrownBy(
                            () ->
                                    StructuredOptionsSplitter.splitEscaped(
                                            testSpec.getString(), testSpec.getDelimiter()))
                    .isInstanceOf(IllegalArgumentException.class)
                    .hasMessageContaining(expectedException.get());
            return;
        }
        List<String> splits =
                StructuredOptionsSplitter.splitEscaped(
                        testSpec.getString(), testSpec.getDelimiter());

        assertThat(splits).isEqualTo(testSpec.getExpectedSplits());
    }