public String substring(final int beginIndex) {
        split();

        final int beginChar = splitted.get(beginIndex);
        return input.substring(beginChar);
    }
@Test
    public void testSubstringGrapheme2() {

        final UnicodeHelper lh = new UnicodeHelper("a", Method.GRAPHEME);
        assertEquals("a", lh.substring(0, 1));

        final UnicodeHelper lh2 = new UnicodeHelper(new String(Character.toChars(0x1f600)), Method.GRAPHEME);
        assertEquals(new String(Character.toChars(0x1f600)), lh2.substring(0, 1));

        final UnicodeHelper lh3 = new UnicodeHelper(UCSTR, Method.GRAPHEME);
        assertEquals(UCSTR, lh3.substring(0, 1));

        final UnicodeHelper lh4 = new UnicodeHelper("a" + UCSTR + "A", Method.GRAPHEME);
        assertEquals("a", lh4.substring(0, 1));
        assertEquals(UCSTR, lh4.substring(1, 2));
        assertEquals("A", lh4.substring(2, 3));
        assertEquals("a" + UCSTR, lh4.substring(0, 2));

        final UnicodeHelper lh5 = new UnicodeHelper("k\u035fh", Method.GRAPHEME);
        assertEquals("k\u035f", lh5.substring(0, 1));
        assertEquals("h", lh5.substring(1, 2));
    }