private void initialize(ISynchronizePageConfiguration configuration) { configuration.getSite().getSelectionProvider().addSelectionChangedListener(this); configuration .getPage() .getViewer() .getControl() .addDisposeListener( new DisposeListener() { @Override public void widgetDisposed(DisposeEvent e) { getConfiguration() .getSite() .getSelectionProvider() .removeSelectionChangedListener(ModelParticipantAction.this); } }); }