Bug 119494 [Workbench] dangerous uses of "new GC(Display)"
bundles/org.eclipse.jface/src/org/eclipse/jface/action/ActionContributionItem.java
if (index >= 0)
                ti = new ToolItem(parent, flags, index);
            else
                ti = new ToolItem(parent, flags);
            ti.setData(this);
            ti.addListener(SWT.Selection, getToolItemListener());
            ti.addListener(SWT.Dispose, getToolItemListener());
            widget = ti;
            update(null);
            
            action.addPropertyChangeListener(propertyListener);
            if (action != null) {
                String commandId = action.getActionDefinitionId();
                ExternalActionManager.ICallback callback = ExternalActionManager
                        .getInstance().getCallback();
                if ((callback != null) && (commandId != null)) {
                    callback.addPropertyChangeListener(commandId,
                            actionTextListener);
                }
            }
        }
    }
    /**
     * Returns the action associated with this contribution item.
     *
     * @return the action
     */
    public IAction getAction() {
        return action;
    }