lineStartOffset = content.getOffsetAtLine(caretLine);  oldColumnX = columnX = getXAtOffset( content.getLine(caretLine), caretLine, caretOffset - lineStartOffset);
void doSelectionLineDown() {	int oldColumnX = columnX;	int caretLine;		if (isSingleLine()) {		return;	}	caretLine = getCaretLine();		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(SWT.RIGHT);	// 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;}