Bug 98332 [JFace] DialogSettings does not handle null cases, replaces tabs with spaces
bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/DialogSettings.java
protected int tab;
    	
    	protected static final String XML_VERSION = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"; 
    	public XMLWriter(OutputStream output) throws UnsupportedEncodingException {
    		super(new OutputStreamWriter(output, "UTF8")); 
    		tab = 0;
    		println(XML_VERSION);
    	}
    	public XMLWriter(Writer output) {
    		super(output);
    		tab = 0;
    		println(XML_VERSION);
    	}
    	public void endTag(String name) {
    		tab--;
    		printTag("/" + name, null, false); 
    	}
    	private void printTabulation() {
    		for (int i = 0; i < tab; i++)
    			super.print('\t');
    	}
    	public void printTag(String name, HashMap parameters, boolean close) {
    		printTag(name, parameters, true, true, close);
    	}
    	private void printTag(String name, HashMap parameters, boolean shouldTab, boolean newLine, boolean close) {
    		StringBuffer sb = new StringBuffer();
    		sb.append('<');
    		sb.append(name);
    		if (parameters != null)
    			for (Enumeration e = Collections.enumeration(parameters.keySet()); e.hasMoreElements();) {