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
/**
     * FontRecord is a private helper class that holds onto a font
     * and can be used to generate its bold and italic version. 
     */
    private class FontRecord {
        Font baseFont;
        Font boldFont;
        Font italicFont;
        FontData[] baseData;
        /**
         * Create a new instance of the receiver based on the 
         * plain font and the data for it.