int line = (newBias ? newStartLine : newEndLine);
int line = getCaretLine();
	public void select(int start, int end)	{		int newStart, newEnd;		boolean newBias;		if(start <= end)		{			newStart = start;			newEnd = end;			newBias = false;		}		else		{			newStart = end;			newEnd = start;			newBias = true;		}		if(newStart < 0 || newEnd > getLength())		{			throw new IllegalArgumentException("Bounds out of"				+ " range: " + newStart + "," +				newEnd);		}		int newStartLine = getLineOfOffset(newStart);		int newEndLine = getLineOfOffset(newEnd);		TextAreaPainter painter = textArea.getPainter();		if(painter.isBracketHighlightEnabled())		{			if(bracketLine != -1)				painter._invalidateLineRange(bracketLine,bracketLine);			updateBracketHighlight(end);			if(bracketLine != -1)				painter._invalidateLineRange(bracketLine,bracketLine);		}		painter._invalidateLineRange(selectionStartLine,selectionEndLine);		painter._invalidateLineRange(newStartLine,newEndLine);		selectionStart = newStart;		selectionEnd = newEnd;		selectionStartLine = newStartLine;		selectionEndLine = newEndLine;		biasLeft = newBias;		int line = (newBias ? newStartLine : newEndLine);		int lineStart = getLineStartOffset(line);		if(!textArea.scrollTo(line,end - lineStart))			textArea.getPainter().repaint();	}