protected void performChange(IDocument document, IEditorPart part) throws CoreException {
protected void performChange(IEditorPart part, IDocument document) throws CoreException {
	protected void performChange(IDocument document, IEditorPart part) throws CoreException {		try {			super.performChange(document, part);			if (part == null) {				return;			}						if (fLinkGroups != null && !fLinkGroups.isEmpty() && part instanceof JavaEditor) {				// enter linked mode				ITextViewer viewer= ((JavaEditor) part).getViewer();				enterLinkedMode(viewer);			} else if (fSelectionDescription != null && part instanceof ITextEditor) {				// select a result				int pos= fSelectionDescription.getStartPosition() + fSelectionDescription.getLength();				((ITextEditor) part).selectAndReveal(pos, 0);			}		} catch (BadLocationException e) {			throw new CoreException(JavaUIStatus.createError(IStatus.ERROR, e));		}	}