void (List<BidiRun> runs, char[] text, int start, int end, int flags) { if (start >= end) return; Bidi bidi = new Bidi(text, start, null, 0, end - start, flags); int runCount = bidi.getRunCount(); for (int i = 0; i < runCount; i++) { addOrMergeRun(runs, new BidiRun((byte)bidi.getRunLevel(i), start + bidi.getRunStart(i), start + bidi.getRunLimit(i))); } }