Bug 78317 Compare plug-in gets loaded by LocalHistoryActionGroup
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/compare/JavaHistoryAction.java
boolean isEnabled(ISelection selection) {
		IMember m= getEditionElement(selection);
		if (m == null)
			return false;
		IFile file= getFile(m);
		if (!isEnabled(file))
			return false;
		if (file != null && beingEdited(file))
			return getWorkingCopy(m) != null;
		return true;
	}
	
	void applyChanges(OldASTRewrite rewriter, final TextBuffer buffer, Shell shell, boolean inEditor) throws CoreException, InvocationTargetException, InterruptedException {
		MultiTextEdit edit= new MultiTextEdit();
		rewriter.rewriteNode(buffer, edit);
										
		IProgressMonitor nullProgressMonitor= new NullProgressMonitor();
				
		TextBufferEditor editor= new TextBufferEditor(buffer);
		editor.add(edit);
		editor.performEdits(nullProgressMonitor);
				
		IRunnableWithProgress r= new IRunnableWithProgress() {
			public void run(IProgressMonitor pm) throws InvocationTargetException {
				try {
					TextBuffer.commitChanges(buffer, false, pm);
				} catch (CoreException ex) {
					throw new InvocationTargetException(ex);
				}