void (List<BidiRun> runs, char[] text, int start, int end, int flags) { if (start < end && !Bidi.requiresBidi(text, start, end)) { addOrMergeRun(runs, new BidiRun((byte)0, start, end)); return; } int afterLastTabPosition = start; for (int i = start; i < end; i++) { if (text[i] == '\t') { addRunsNoTabs(runs, text, afterLastTabPosition, i, flags); afterLastTabPosition = i + 1; addOrMergeRun(runs, new BidiRun((byte)0, i, i + 1)); } } addRunsNoTabs(runs, text, afterLastTabPosition, end, flags); }