int count1 = 0;
int count2 = 0;
for (Delta delta : rev.getDeltas()) {
Chunk orgChunk = delta.getOriginal();
Chunk revChunk = delta.getRevised();
while (count1 != orgChunk.getPosition()) {
this.handler.match(this.text1.get(count1));
count1++;
}
count1 = orgChunk.getPosition();
count2 = revChunk.getPosition();
if (delta instanceof InsertDelta) {
while (count2 <= revChunk.last()) {
this.handler.add(this.text2.get(count2));
count2++;
}
} else if (delta instanceof DeleteDelta) {
while (count1 <= orgChunk.last()) {
this.handler.delete(this.text1.get(count1));
count1++;
}
} else if (delta instanceof ChangeDelta) {
while (count1 <= orgChunk.last()) {
this.handler.delete(this.text1.get(count1));
count1++;
}
while (count2 <= revChunk.last()) {
this.handler.add(this.text2.get(count2));
count2++;
}
}
count1 = orgChunk.last() + 1;
count2 = revChunk.last() + 1;
}
while (this.text2.size() > count2) {
this.handler.match(this.text2.get(count2));
count2++;