Bug 75316 [preferences] Provide a generic way to update dependencies
I200409280800 On the spelling preference page, check to spell-check comments Click Restore defaults The nested checkboxes under "spell-check comments" remain enabled.
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/SpellingConfigurationBlock.java
slave= addCheckBox(user, label, PREF_SPELLING_IGNORE_MIXED, trueFalse, 20);
		createSelectionDependency(master, slave);
		label= PreferencesMessages.getString("SpellingPreferencePage.ignore.sentence.label"); 
		slave= addCheckBox(user, label, PREF_SPELLING_IGNORE_SENTENCE, trueFalse, 20);
		createSelectionDependency(master, slave);
		label= PreferencesMessages.getString("SpellingPreferencePage.ignore.upper.label"); 
		slave= addCheckBox(user, label, PREF_SPELLING_IGNORE_UPPER, trueFalse, 20);
		createSelectionDependency(master, slave);
		label= PreferencesMessages.getString("SpellingPreferencePage.ignore.url.label"); 
		slave= addCheckBox(user, label, PREF_SPELLING_IGNORE_URLS, trueFalse, 20);
		createSelectionDependency(master, slave);
		final Group engine= new Group(composite, SWT.NONE);
		engine.setText(PreferencesMessages.getString("SpellingPreferencePage.preferences.engine")); 
		layout= new GridLayout();
		layout.numColumns= 4;
		engine.setLayout(layout);
		engine.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
		label= PreferencesMessages.getString("SpellingPreferencePage.dictionary.label"); 
		final Set locales= SpellCheckEngine.getAvailableLocales();
		Combo combo= addComboBox(engine, label, PREF_SPELLING_LOCALE, getDictionaryCodes(locales), getDictionaryLabels(locales), 0);
		combo.setEnabled(locales.size() > 1);
		
		new Label(engine, SWT.NONE); 
		label= PreferencesMessages.getString("SpellingPreferencePage.workspace.dictionary.label"); 
		fDictionaryPath= addTextField(engine, label, PREF_SPELLING_USER_DICTIONARY, 0, 0);
		
		Button button= new Button(engine, SWT.PUSH);
		button.setText(PreferencesMessages.getString("SpellingPreferencePage.browse.label")); 
		button.addSelectionListener(new SelectionAdapter() {
			public void widgetSelected(final SelectionEvent event) {