Bug 119494 [Workbench] dangerous uses of "new GC(Display)"
bundles/org.eclipse.jface/src/org/eclipse/jface/action/ActionContributionItem.java
* Two action contribution items are equal if they refer to the identical Action.
     */
    public boolean equals(Object o) {
        if (!(o instanceof ActionContributionItem)) {
            return false;
        }
        return action.equals(((ActionContributionItem) o).action);
    }
    /**
     * The <code>ActionContributionItem</code> implementation of this
     * <code>IContributionItem</code> method creates an SWT <code>Button</code> for
     * the action using the action's style. If the action's checked property has
     * been set, the button is created and primed to the value of the checked
     * property.
     */
    public void fill(Composite parent) {
        if (widget == null && parent != null) {
            int flags = SWT.PUSH;
            if (action != null) {
                if (action.getStyle() == IAction.AS_CHECK_BOX)
                    flags = SWT.TOGGLE;
                if (action.getStyle() == IAction.AS_RADIO_BUTTON)
                    flags = SWT.RADIO;
            }
            Button b = new Button(parent, flags);
            b.setData(this);
            b.addListener(SWT.Dispose, getButtonListener());
            
            b.addListener(SWT.Selection, getButtonListener());
            if (action.getHelpListener() != null)