@Override public void start(BundleContext context) throws Exception { try { super.start(context); Hashtable<String, String> props = new Hashtable<>(2); props.put(org.eclipse.osgi.service.debug.DebugOptions.LISTENER_SYMBOLICNAME, PLUGIN_ID); context.registerService(DebugOptionsListener.class.getName(), this, props); } finally { ResourcesPlugin.getWorkspace().addSaveParticipant(PLUGIN_ID, this); fBundleContext = context; deltaProcessor = new WorkspaceDeltaProcessor(); JavaCore.addElementChangedListener(deltaProcessor, ElementChangedEvent.POST_CHANGE); ResourcesPlugin.getWorkspace().addResourceChangeListener(deltaProcessor, IResourceChangeEvent.PRE_DELETE | IResourceChangeEvent.PRE_CLOSE | IResourceChangeEvent.PRE_BUILD); checkForEEDescriptionChanges(); } }