else if(lastVisibleLine <= textArea.getElectricScroll()) lastVisibleLine = 0;
	public void actionPerformed(ActionEvent evt)	{		View view = getView(evt);		JEditTextArea textArea = view.getTextArea();		int caret = textArea.getCaretPosition();		int lastOfLine = textArea.getLineEndOffset(			textArea.getCaretLine()) - 1;		int lastVisibleLine = textArea.getFirstLine()			+ textArea.getVisibleLines();		if(lastVisibleLine >= textArea.getLineCount())		{			lastVisibleLine = Math.min(textArea.getLineCount() - 1,				lastVisibleLine);		}		else			lastVisibleLine -= (textArea.getElectricScroll() + 1);		int lastVisible = textArea.getLineEndOffset(lastVisibleLine) - 1;		int lastDocument = textArea.getDocumentLength();		if(caret == lastDocument)		{			view.getToolkit().beep();			return;		}		else if(!jEdit.getBooleanProperty("view.homeEnd"))			caret = lastOfLine;		else if(caret == lastVisible)			caret = lastDocument;		else if(caret == lastOfLine)			caret = lastVisible;		else			caret = lastOfLine;		if(select)			textArea.select(textArea.getMarkPosition(),caret);		else			textArea.setCaretPosition(caret);	}