return this;
}
int start = Math.max(startOffset, targetStartOffset);
int end = Math.min(endOffset, targetEndOffset);
BidiRun run = new BidiRun(level, start, end);
<BUG>int offset = 0;
for (LineFragment fragment : fragments) {</BUG>
if (end <= offset) break;
int endOffset = offset + fragment.getLength();
if (start < endOffset) {

return this;
}
int start = Math.max(startOffset, targetStartOffset);
int end = Math.min(endOffset, targetEndOffset);
BidiRun run = new BidiRun(level, start, end);
int offset = startOffset;
for (LineFragment fragment : fragments) {
if (end <= offset) break;
int endOffset = offset + fragment.getLength();
if (start < endOffset) {
