int lineStartOffset = content.getOffsetAtLine(caretLine);
int lineOffset = content.getOffsetAtLine(caretLine);
void doSelectionLineDown() {	if (isSingleLine()) {		return;	}	int caretLine = getCaretLine();		int lineStartOffset = content.getOffsetAtLine(caretLine);	String line = content.getLine(caretLine);	// reset columnX on selection	int oldColumnX = columnX = getPointAtOffset(line, caretLine, caretOffset - lineStartOffset).x;	if (caretLine == content.getLineCount() - 1) {		caretOffset = content.getCharCount();	} else {		caretLine = doLineDown();	}	setMouseWordSelectionAnchor();		// select first and then scroll to reduce flash when key 	// repeat scrolls lots of lines	doSelection(ST.COLUMN_NEXT);	// explicitly go to the calculated caret line. may be different 	// from content.getLineAtOffset(caretOffset) when in word wrap mode	showCaret(caretLine);	// save the original horizontal caret position	columnX = oldColumnX;}