public int indexOf(final String str) {
        return indexOf(str, 0);
    }
@Test
    public void testIndexOf2() {
        final UnicodeHelper lh = new UnicodeHelper("a", Method.GRAPHEME);
        assertEquals(-1, lh.indexOf("b"));

        final UnicodeHelper lh2 = new UnicodeHelper(
                "a" + new String(Character.toChars(0x1f600)) + "a" + UCSTR + "A" + "k\u035fh" + "z"
                                                    + "a" + new String(Character.toChars(0x1f600)) + "a" + UCSTR + "A"
                                                    + "k\u035fh" + "z",
                Method.GRAPHEME);

        assertEquals(1, lh2.indexOf(new String(Character.toChars(0x1f600))));
        assertEquals(9, lh2.indexOf(new String(Character.toChars(0x1f600)), 8));

        assertEquals(3, lh2.indexOf(UCSTR));
        assertEquals(11, lh2.indexOf(UCSTR), 8);

        final UnicodeHelper lh3 = new UnicodeHelper("mm̂mm̂m", Method.GRAPHEME);
        assertEquals(0, lh3.indexOf("m"));
        assertEquals(2, lh3.indexOf("m", 1));
        assertEquals(3, lh3.indexOf("m̂", 2));
    }