if (runEnd < currentTextEnd) {
String str = currentPiece.substring(runStart - currentTextStart, runEnd - currentTextStart);
finalTextBuf.append(str);
} else if (runEnd > currentTextEnd) {
while (runEnd > currentTextEnd) {
String str = currentPiece.substring(runStart - currentTextStart,
currentTextEnd - currentTextStart);
finalTextBuf.append(str);
if (textIt.hasNext()) {
currentPiece = (TextPiece) textIt.next ();
currentTextStart = currentPiece.getStart ();