final Image image = perspectiveDescriptor.getImageDescriptor().createImage();
toolItem.setData(KEY_PERSPECTIVE, perspectiveDescriptor);
toolItem.setImage(image);
toolItem.addDisposeListener(new DisposeListener() {
public void widgetDisposed(DisposeEvent e) {
ToolItem toolItem = (ToolItem) e.widget;
if (toolItem.getImage() != null && !toolItem.getImage().isDisposed()) {
toolItem.getImage().dispose();