Bug 98332 [JFace] DialogSettings does not handle null cases, replaces tabs with spaces
bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/DialogSettings.java
sb.append(" "); 
    				String key = (String) e.nextElement();
    				sb.append(key);
    				sb.append("=\""); 
    				sb.append(getEscaped(String.valueOf(parameters.get(key))));
    				sb.append("\""); 
    			}
    		if (close)
    			sb.append('/');
    		sb.append('>');
    		if (shouldTab)
    			printTabulation();
    		if (newLine)
    			println(sb.toString());
    		else
    			print(sb.toString());
    	}
    	public void startTag(String name, HashMap parameters) {
    		startTag(name, parameters, true);
    		tab++;
    	}
    	private void startTag(String name, HashMap parameters, boolean newLine) {
    		printTag(name, parameters, true, newLine, false);
    	}
    	private static void appendEscapedChar(StringBuffer buffer, char c) {
    		String replacement = getReplacement(c);
    		if (replacement != null) {
    			buffer.append('&');
    			buffer.append(replacement);
    			buffer.append(';');