@Override
    public List<List<Integer>> split(List<Integer> glyphIds)
    {
        String originalGlyphsAsText = convertGlyphIdsToString(glyphIds);
        List<String> tokens = compoundCharacterTokenizer.tokenize(originalGlyphsAsText);

        List<List<Integer>> modifiedGlyphs = new ArrayList<>(tokens.size());
        tokens.forEach(token -> modifiedGlyphs.add(convertGlyphIdsToList(token)));
        return modifiedGlyphs;
    }
@Test
    void testSplit_3()
    {

        // given
        Set<List<Integer>> matchers = new HashSet<>(
                Arrays.asList(Arrays.asList(67, 112, 96), Arrays.asList(74, 112, 76)));
        GlyphArraySplitter testClass = new GlyphArraySplitterRegexImpl(matchers);
        List<Integer> glyphIds = Arrays.asList(94, 67, 112, 96, 112, 91, 103);

        // when
        List<List<Integer>> tokens = testClass.split(glyphIds);

        // then
        assertEquals(Arrays.asList(Arrays.asList(94), Arrays.asList(67, 112, 96),
                Arrays.asList(112, 91, 103)), tokens);
    }