Bug 230360 [JFace] FontRegistry does not play nicely with non-UI threads
This method does: ... Display current = Display.getCurrent(); if (current == null) { Shell shell = new Shell(); } This code will _always_ fail because Shell will execute if (!display.isValidThread ()) Which is always TRUE because "current" was null.
bundles/org.eclipse.jface/src/org/eclipse/jface/resource/FontRegistry.java
*/
    private void readResourceBundle(String location) {
        String osname = System.getProperty("os.name").trim(); 
        String wsname = Util.getWS();
        osname = StringConverter.removeWhiteSpaces(osname).toLowerCase();
        wsname = StringConverter.removeWhiteSpaces(wsname).toLowerCase();
        String OSLocation = location;
        String WSLocation = location;
        ResourceBundle bundle = null;
        if (osname != null) {
            OSLocation = location + "_" + osname; 
            if (wsname != null) {
				WSLocation = OSLocation + "_" + wsname; 
			}
        }
        try {
            bundle = ResourceBundle.getBundle(WSLocation);
            readResourceBundle(bundle, WSLocation);
        } catch (MissingResourceException wsException) {
            try {
                bundle = ResourceBundle.getBundle(OSLocation);
                readResourceBundle(bundle, WSLocation);
            } catch (MissingResourceException osException) {
                if (location != OSLocation) {
                    bundle = ResourceBundle.getBundle(location);
                    readResourceBundle(bundle, WSLocation);
                } else {
					throw osException;
				}
            }