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) {
				IContributionItem ci= items[i];
				if (!ci.isVisible())
					continue;
				if (ci.isSeparator()) {
					 
					
					separator= ci;
				} else {
					if (separator != null) {
						if (clean.size() > 0)	
							clean.add(separator);
						separator= null;
					}
					clean.add(ci);
				}
			}
			
			
			MenuItem[] mi= menu.getItems();
			for (int i= 0; i < mi.length; i++) {
				Object data= mi[i].getData();
				if (data == null || !clean.contains(data)) {
					mi[i].dispose();
				} else if(data instanceof IContributionItem && 
					((IContributionItem)data).isDynamic() && 
					((IContributionItem)data).isDirty()) {
						mi[i].dispose();
				}
			}