public static List<String> splitMarkdownParagraphs(
        List<String> lines, int maxTokensPerParagraph) {
        return internalSplitTextParagraphs(
            lines,
            maxTokensPerParagraph,
            (text) -> internalSplitLines(
                text, maxTokensPerParagraph, false, s_markdownSplitOptions));
    }
@Test
    public void canSplitMarkdownParagraphsOnNewlines() {
        List<String> input = Arrays.asList(
            "This_is_a_test_of_the_emergency_broadcast_system\r\nThis_is_only_a_test",
            "We_repeat_this_is_only_a_test\nA_unit_test",
            "A_small_note\n"
                + "And_another\r\n"
                + "And_once_again\r"
                + "Seriously_this_is_the_end\n"
                + "We're_finished\n"
                + "All_set\n"
                + "Bye\n",
            "Done");

        List<String> expected = Arrays.asList(
            "This_is_a_test_of_the_emergency_broadcast_system",
            "This_is_only_a_test",
            "We_repeat_this_is_only_a_test\nA_unit_test",
            "A_small_note\nAnd_another\nAnd_once_again",
            "Seriously_this_is_the_end\nWe're_finished\nAll_set\nBye Done");

        List<String> result = TextChunker.splitMarkdownParagraphs(input, 15);

        Assertions.assertEquals(expected, result);
    }