ICompilationUnit unit= getCompilationUnit(); getCompilationUnitChange();  IEditorPart part= null; if (fSelectionDescription != null || (fLinkGroups != null && !fLinkGroups.isEmpty())) { part= EditorUtility.isOpenInEditor(unit); if (part == null) { part= EditorUtility.openInEditor(unit, true); } IWorkbenchPage page= JavaPlugin.getActivePage(); if (page != null && part != null) { page.bringToTop(part); } if (part != null) { part.setFocus(); } }  super.performChange(document);
super.performChange(document, part);
	protected void performChange(IDocument document) throws CoreException {		try {			ICompilationUnit unit= getCompilationUnit();			getCompilationUnitChange(); // force creation of the change									IEditorPart part= null;			if (fSelectionDescription != null || (fLinkGroups != null && !fLinkGroups.isEmpty())) {				part= EditorUtility.isOpenInEditor(unit);				if (part == null) {					part= EditorUtility.openInEditor(unit, true);				}				IWorkbenchPage page= JavaPlugin.getActivePage();				if (page != null && part != null) {					page.bringToTop(part);				}				if (part != null) {					part.setFocus();				}			}						super.performChange(document);			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.getMessage(), e));		}	}