Source:
<code>public void start(BundleContext bundleContext) throws Exception { EMFCompareRCPPlugin.plugin = this; final IExtensionRegistry registry = Platform.getExtensionRegistry(); adapterFactoryRegistry = new EMFCompareAdapterFactoryDescriptorRegistryImpl( ComposedAdapterFactory.Descriptor.Registry.INSTANCE); <START> adapterFactoryRegistryListener = new EMFCompareAdapterFactoryDescriptorRegistryListener( <END> EMFCompareEditPlugin.PLUGIN_ID, FACTORY_PPID, getLog(), adapterFactoryRegistry); registry.addListener(adapterFactoryRegistryListener, PLUGIN_ID + "." + FACTORY_PPID); adapterFactoryRegistryListener.readRegistry(registry); matchEngineFactoryRegistry = new MatchEngineFactoryRegistryImpl(); matchEngineRegistryListener = new MatchEngineFactoryRegistryListener(PLUGIN_ID, MATCH_ENGINE_PPID, getLog(), matchEngineFactoryRegistry); matchEngineRegistryListener.readRegistry(registry); mergerRegistry = new IMerger.RegistryImpl(); mergerRegistryListener = new MergerExtensionRegistryListener(PLUGIN_ID, MERGER_PPID, getLog(), mergerRegistry); registry.addListener(mergerRegistryListener, PLUGIN_ID + '.' + MERGER_PPID); mergerRegistryListener.readRegistry(registry); postProcessorDescriptorsRegistry = new PostProcessorDescriptorRegistryImpl<String>(); postProcessorFactoryRegistryListener = new PostProcessorFactoryRegistryListener(PLUGIN_ID, POST_PROCESSOR_PPID, getLog(), postProcessorDescriptorsRegistry); registry.addListener(postProcessorFactoryRegistryListener, PLUGIN_ID + '.' + POST_PROCESSOR_PPID); postProcessorFactoryRegistryListener.readRegistry(registry); loadOnDemandRegistry = new LoadOnDemandPolicyRegistryImpl(); loadOnDemandRegistryListener = new LoadOnDemandPolicyRegistryListener(loadOnDemandRegistry, PLUGIN_ID, LOAD_ON_DEMAND_POLICY_PPID, getLog()); registry.addListener(loadOnDemandRegistryListener, PLUGIN_ID + '.' + LOAD_ON_DEMAND_POLICY_PPID); loadOnDemandRegistryListener.readRegistry(registry); }</code><technical_language>This too. AdapterFactoryDescriptorRegistryListener</technical_language>

Target:
public void start(BundleContext bundleContext) throws Exception { EMFCompareRCPPlugin.plugin = this; final IExtensionRegistry registry = Platform.getExtensionRegistry(); adapterFactoryRegistry = new RankedAdapterFactoryDescriptorRegistryImpl( ComposedAdapterFactory.Descriptor.Registry.INSTANCE); adapterFactoryRegistryListener = new AdapterFactoryDescriptorRegistryListener( EMFCompareEditPlugin.PLUGIN_ID, FACTORY_PPID, getLog(), adapterFactoryRegistry); registry.addListener(adapterFactoryRegistryListener, PLUGIN_ID + "." + FACTORY_PPID); adapterFactoryRegistryListener.readRegistry(registry); matchEngineFactoryRegistry = new MatchEngineFactoryRegistryImpl(); matchEngineRegistryListener = new MatchEngineFactoryRegistryListener(PLUGIN_ID, MATCH_ENGINE_PPID, getLog(), matchEngineFactoryRegistry); matchEngineRegistryListener.readRegistry(registry); mergerRegistry = new IMerger.RegistryImpl(); mergerRegistryListener = new MergerExtensionRegistryListener(PLUGIN_ID, MERGER_PPID, getLog(), mergerRegistry); registry.addListener(mergerRegistryListener, PLUGIN_ID + '.' + MERGER_PPID); mergerRegistryListener.readRegistry(registry); postProcessorDescriptorsRegistry = new PostProcessorDescriptorRegistryImpl<String>(); postProcessorFactoryRegistryListener = new PostProcessorFactoryRegistryListener(PLUGIN_ID, POST_PROCESSOR_PPID, getLog(), postProcessorDescriptorsRegistry); registry.addListener(postProcessorFactoryRegistryListener, PLUGIN_ID + '.' + POST_PROCESSOR_PPID); postProcessorFactoryRegistryListener.readRegistry(registry); loadOnDemandRegistry = new LoadOnDemandPolicyRegistryImpl(); loadOnDemandRegistryListener = new LoadOnDemandPolicyRegistryListener(loadOnDemandRegistry, PLUGIN_ID, LOAD_ON_DEMAND_POLICY_PPID, getLog()); registry.addListener(loadOnDemandRegistryListener, PLUGIN_ID + '.' + LOAD_ON_DEMAND_POLICY_PPID); loadOnDemandRegistryListener.readRegistry(registry); }