int leftStartLine= consistentBefore.leftStart() + shiftBefore;
int leftLine= consistentAfter.leftEnd();
if (leftToRight)
leftLine += lineDelta;
int leftEndLine= leftLine - shiftAfter;
ILineRange leftRange= new LineRange(leftStartLine, leftEndLine - leftStartLine);
IRangeComparator reference= new DocEquivalenceComparator(leftEquivalent, leftRange);
// right (actual) document
int rightStartLine= consistentBefore.rightStart() + shiftBefore;
int rightLine= consistentAfter.rightEnd();
if (!leftToRight)
rightLine += lineDelta;
int rightEndLine= rightLine - shiftAfter;
ILineRange rightRange= new LineRange(rightStartLine, rightEndLine - rightStartLine);
IRangeComparator change= new DocEquivalenceComparator(rightEquivalent, rightRange);
// put an upper bound to the delay we can afford
if (leftLine - shiftAfter - leftStartLine > 50 || rightLine - shiftAfter - rightStartLine > 50) {
initialize();