Я создал страницу настроек с несколькими полями. В хранилище предпочтений я добавил свойствоchangelistener, когда содержит код для перезапуска приложения.
getPreferenceStore().addPropertyChangeListener(new IPropertyChangeListener() {
@Override
public void propertyChange(PropertyChangeEvent event) {
if(MessageDialog.openConfirm(shell,"Restart Required", "Restart now?"))
PlatformUI.getWorkbench().restart();
}
});
Проблема в том, что когда я изменяю несколько записей на странице настроек, этот код перезапуска будет вызываться много раз. Какое условие я должен поставить, чтобы даже после изменения нескольких записей этот перезапуск вызывался только один раз.