caretX = oldCaretX;
void doPageDown(boolean select) {	int lineCount = content.getLineCount();		// do nothing if in single line mode. fixes 5673	if (isSingleLine()) {		return;	}	if (caretLine < lineCount - 1) {		int verticalMaximum = lineCount * getVerticalIncrement();		int pageSize = getClientArea().height;		int scrollLines = Math.min(lineCount - caretLine - 1, getLineCountWhole());		int scrollOffset;		int caretX = getCaretX();				// ensure that scrollLines never gets negative and at leat one 		// line is scrolled. fixes bug 5602.		scrollLines = Math.max(1, scrollLines);		caretLine += scrollLines;		if (isBidi()) {			caretOffset = getBidiOffsetAtMouseLocation(caretX, caretLine);		}		else {			caretOffset = getOffsetAtMouseLocation(caretX, caretLine);		}			if (select) {			doSelection(SWT.RIGHT);		}		// scroll one page down or to the bottom		scrollOffset = verticalScrollOffset + scrollLines * getVerticalIncrement();		if (scrollOffset + pageSize > verticalMaximum) {			scrollOffset = verticalMaximum - pageSize;		}		if (scrollOffset > verticalScrollOffset) {			setVerticalScrollOffset(scrollOffset, true);		}	}	showCaret();}