Source:
protected static CompareEditorInput createCompareEditorInput(IWorkbenchPart part, AdapterFactory adapterFactory, Notifier left, Notifier right, Notifier origin, IEclipsePreferences enginePreferences) { CompareEditorInput input = null; final ICompareEditingDomain editingDomain = createEMFCompareEditingDomain(part, left, right, origin); final EMFCompareConfiguration configuration = new EMFCompareConfiguration(new CompareConfiguration()); IMatchEngine.Factory eObjectMatchEngineFactory = new MatchEObjectEngineFactory(); eObjectMatchEngineFactory.setRanking(10); final IMatchEngine.Factory.Registry matchEngineFactoryRegistry = EMFCompareRCPPlugin.getDefault() .getMatchEngineFactoryRegistry(); matchEngineFactoryRegistry.add(eObjectMatchEngineFactory); final Builder builder = EMFCompare.builder(); final IEclipsePreferences preferences; if (enginePreferences == null) { preferences = EMFCompareRCPPlugin.getDefault().getEMFComparePreferences(); } else { preferences = enginePreferences; } if (preferences != null) { EMFCompareBuilderConfigurator engineProvider = new EMFCompareBuilderConfigurator(preferences, matchEngineFactoryRegistry, EMFCompareRCPPlugin.getDefault().getPostProcessorRegistry()); engineProvider.configure(builder); } else { builder.setMatchEngineFactoryRegistry(matchEngineFactoryRegistry).setPostProcessorRegistry( EMFCompareRCPPlugin.getDefault().getPostProcessorRegistry()); } EMFCompare comparator = builder.build(); IComparisonScope scope = new DefaultComparisonScope(left, right, origin); input = new ComparisonScopeEditorInput(configuration, editingDomain, adapterFactory, comparator, scope) { @Override protected void handleDispose() { super.handleDispose(); if (editingDomain instanceof IDisposable) { ((IDisposable)editingDomain).dispose(); } matchEngineFactoryRegistry.remove(MatchEObjectEngineFactory.class.getName()); } }; input.setTitle("Compare ('" + AdapterFactoryUtil.getText(adapterFactory, left) + "' - '" + AdapterFactoryUtil.getText(adapterFactory, right) + "')"); configuration.setContainer(input); return input; }

Target:
protected static CompareEditorInput createCompareEditorInput(IWorkbenchPart part, AdapterFactory adapterFactory, Notifier left, Notifier right, Notifier origin, IEclipsePreferences enginePreferences) { CompareEditorInput input = null; final ICompareEditingDomain editingDomain = createEMFCompareEditingDomain(part, left, right, origin); final EMFCompareConfiguration configuration = new EMFCompareConfiguration(new CompareConfiguration()); IMatchEngine.Factory eObjectMatchEngineFactory = new MatchEObjectEngineFactory(); eObjectMatchEngineFactory.setRanking(0); final IMatchEngine.Factory.Registry matchEngineFactoryRegistry = EMFCompareRCPPlugin.getDefault() .getMatchEngineFactoryRegistry(); matchEngineFactoryRegistry.add(eObjectMatchEngineFactory); final Builder builder = EMFCompare.builder(); final IEclipsePreferences preferences; if (enginePreferences == null) { preferences = EMFCompareRCPPlugin.getDefault().getEMFComparePreferences(); } else { preferences = enginePreferences; } if (preferences != null) { EMFCompareBuilderConfigurator engineProvider = new EMFCompareBuilderConfigurator(preferences, matchEngineFactoryRegistry, EMFCompareRCPPlugin.getDefault().getPostProcessorRegistry()); engineProvider.configure(builder); } else { builder.setMatchEngineFactoryRegistry(matchEngineFactoryRegistry).setPostProcessorRegistry( EMFCompareRCPPlugin.getDefault().getPostProcessorRegistry()); } EMFCompare comparator = builder.build(); IComparisonScope scope = new DefaultComparisonScope(left, right, origin); input = new ComparisonScopeEditorInput(configuration, editingDomain, adapterFactory, comparator, scope) { @Override protected void handleDispose() { super.handleDispose(); if (editingDomain instanceof IDisposable) { ((IDisposable)editingDomain).dispose(); } matchEngineFactoryRegistry.remove(MatchEObjectEngineFactory.class.getName()); } }; input.setTitle("Compare ('" + AdapterFactoryUtil.getText(adapterFactory, left) + "' - '" + AdapterFactoryUtil.getText(adapterFactory, right) + "')"); configuration.setContainer(input); return input; }