Bug 62095 Compiler pref page should be more resilient
Build 20040513 When patching with latest JDTCore, with adjusted constant value for EmptyStatement optional warning, I saw the following entry in console. 1. it shouldn't be shown by default I suspect, only when in trace mode. 2. when option isn't readable it shouldn't be promoted to ERROR as observed when then looking at pref page. It should rather be turned back to IGNORE. !ENTRY org.eclipse.jdt.ui 4 10001 May 13, 2004 15:37:08.30 !MESSAGE preference option missing: org.eclipse.jdt.core.compiler.problem.superfluousSemicolon (org.eclipse.jdt.internal.ui.preferences.CompilerConfigurationBlo ck) !ENTRY org.eclipse.jdt.ui 4 10001 May 13, 2004 15:37:15.721 !MESSAGE preference option missing: org.eclipse.jdt.core.compiler.problem.superfluousSemicolon (org.eclipse.jdt.internal.ui.preferences.CompilerConfigurationBlo ck)
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/OptionsConfigurationBlock.java
}
		}
		return false;
	}	
		
	protected void setOptions(Map map) {
		if (fProject != null) {
			Map oldOptions= fProject.getOptions(false);
			fProject.setOptions(map);
			firePropertyChangeEvents(oldOptions, map);
		} else {
			JavaCore.setOptions((Hashtable) map);
		}	
	} 
	
	/**
	 * Computes the differences between the given old and new options and fires corresponding
	 * property change events on the Java plugin's mockup preference store.
	 * @param oldOptions The old options
	 * @param newOptions The new options
	 */
	private void firePropertyChangeEvents(Map oldOptions, Map newOptions) {
		oldOptions= new HashMap(oldOptions);
		Object source= fProject.getProject();
		MockupPreferenceStore store= JavaPlugin.getDefault().getMockupPreferenceStore();
		Iterator iter= newOptions.entrySet().iterator();
		while (iter.hasNext()) {
			Entry entry= (Entry) iter.next();
		
			String name= (String) entry.getKey();