Bug 7235 [Contributions] Need dispose() for action delegates
bundles/org.eclipse.jface/src/org/eclipse/jface/action/MenuManager.java
for (int i = 0; i < items.length; i++) {
		items[i].update(property);		
	}
	if(menu != null && (IAction.TEXT.equals(property))) {
		String text = getOverrides().getText(this);
		if(text == null)
			text = menuText;
		if(menu == null || menu.isDisposed())
			return;
		if((text != null) && (menu.getParentItem() != null))
			menu.getParentItem().setText(text);
	}
}
/**
 * Incrementally builds the menu from the contribution items.
 * This method leaves out double separators and separators in the first 
 * or last position.
 *
 * @param force <code>true</code> means update even if not dirty,
 *   and <code>false</code> for normal incremental updating
 * @param recursive <code>true</code> means recursively update 
 *   all submenus, and <code>false</code> means just this menu
 */
protected void update(boolean force, boolean recursive) {
	if (isDirty() || force) {
		if (menuExist()) {
			
			IContributionItem[] items= getItems();
			List clean= new ArrayList(items.length);
			IContributionItem separator= null;