void (char @NotNull [] text, int start, int end) { assert 0 <= start && start <= end && end <= text.length : "Text length: " + text.length + ", start: " + start + ", end: " + end; CharacterIterator characterIterator = null; for (int i = start; i < end; i++) { if (text[i] >= COMPLEX_CHAR_START) { characterIterator = new CharArrayIterator(text, start, end); break; } } doStart(null, text, characterIterator, start, end); }