Bug 119494 [Workbench] dangerous uses of "new GC(Display)"
bundles/org.eclipse.jface/src/org/eclipse/jface/action/ActionContributionItem.java
if (image == null && forceImage) {
                image = ImageDescriptor.getMissingImageDescriptor();
            }
            
            
            LocalResourceManager localManager = new LocalResourceManager(parentResourceManager);
            
            if (widget instanceof Item) {
                ((Item) widget).setImage(image == null ? null : localManager.createImageWithDefault(image));
            } else if (widget instanceof Button) {
                ((Button) widget).setImage(image == null ? null : localManager.createImageWithDefault(image));
            }
            
            
            disposeOldImages();
            imageManager = localManager;
            
            return image != null;
        }
        return false;
    }
    /**
     * Dispose any images allocated for this contribution item
     */
    private void disposeOldImages() {
        if (imageManager != null) {
            imageManager.dispose();
            imageManager = null;
        }