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
fLabels= new HashMap();
	}
	
	private void testIfOptionsComplete(Map workingValues, String[] allKeys) {
		for (int i= 0; i < allKeys.length; i++) {
			if (workingValues.get(allKeys[i]) == null) {
				JavaPlugin.logErrorMessage("preference option missing: " + allKeys[i] + " (" + this.getClass().getName() +')');  
			}
		}
	}
	protected Map getOptions(boolean inheritJavaCoreOptions) {
		if (fProject != null) {
			return fProject.getOptions(inheritJavaCoreOptions);
		} else {
			return JavaCore.getOptions();
		}	
	}
	
	protected Map getDefaultOptions() {
		return JavaCore.getDefaultOptions();
	}	
	
	public final boolean hasProjectSpecificOptions() {
		if (fProject != null) {
			Map settings= fProject.getOptions(false);
			String[] allKeys= fAllKeys;
			for (int i= 0; i < allKeys.length; i++) {
				if (settings.get(allKeys[i]) != null) {
					return true;
				}