Revert "Bug 374568 - Part menu is not rendered correctly after removing menu items"

This reverts commit d0d966c9226abaada1a9b6bc98e4c486ceb4f640.
diff --git a/bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/ui/workbench/renderers/swt/MenuManagerRenderer.java b/bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/ui/workbench/renderers/swt/MenuManagerRenderer.java
index 912a15e..0cf54a3 100644
--- a/bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/ui/workbench/renderers/swt/MenuManagerRenderer.java
+++ b/bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/ui/workbench/renderers/swt/MenuManagerRenderer.java
@@ -52,7 +52,6 @@
 import org.eclipse.e4.ui.model.application.ui.menu.impl.MenuFactoryImpl;
 import org.eclipse.e4.ui.workbench.IResourceUtilities;
 import org.eclipse.e4.ui.workbench.UIEvents;
-import org.eclipse.e4.ui.workbench.UIEvents.ElementContainer;
 import org.eclipse.e4.ui.workbench.modeling.ExpressionContext;
 import org.eclipse.e4.ui.workbench.swt.util.ISWTResourceUtilities;
 import org.eclipse.emf.common.util.URI;
@@ -209,68 +208,6 @@
 		}
 	};
 
-	private EventHandler childUpdater = new EventHandler() {
-		public void handleEvent(Event event) {
-			// Ensure that this event is for a MMenu
-			final Object obj = event.getProperty(UIEvents.EventTags.ELEMENT);
-			if (!(obj instanceof MMenu) || (obj instanceof MOpaqueMenu))
-				return;
-
-			MMenu menuModel = (MMenu) obj;
-
-			if (UIEvents.isADD(event)) {
-				MenuManager parentManager = getManager(menuModel);
-				if (parentManager == null) {
-					return;
-				}
-				Object newValue = event
-						.getProperty(UIEvents.EventTags.NEW_VALUE);
-				if (newValue instanceof List) {
-					for (Object object : (List) newValue) {
-						if (object instanceof MMenuElement) {
-							modelProcessSwitch(parentManager,
-									(MMenuElement) object);
-						}
-					}
-				} else if (newValue instanceof MMenuElement) {
-					modelProcessSwitch(parentManager, (MMenuElement) newValue);
-				}
-			} else if (UIEvents.isREMOVE(event)) {
-				MenuManager parentManager = getManager(menuModel);
-				if (parentManager == null) {
-					return;
-				}
-				Object oldValue = event
-						.getProperty(UIEvents.EventTags.OLD_VALUE);
-				if (oldValue instanceof MMenu
-						&& !(oldValue instanceof MOpaqueMenu)) {
-					cleanUp((MMenu) oldValue);
-					disposeMenuManager(getManager((MMenu) oldValue),
-							parentManager, (MMenu) oldValue);
-				} else if (oldValue instanceof MMenuElement) {
-					disposeContributionItem(
-							getContribution((MMenuElement) oldValue),
-							parentManager, (MMenuElement) oldValue);
-					parentManager.update(false);
-				} else if (oldValue instanceof List) {
-					for (Object object : (List) oldValue) {
-						if (object instanceof MMenu
-								&& !(object instanceof MOpaqueMenu)) {
-							cleanUp((MMenu) object);
-							disposeMenuManager(getManager((MMenu) object),
-									parentManager, (MMenu) object);
-						} else if (object instanceof MMenuElement) {
-							disposeContributionItem(
-									getContribution((MMenuElement) object),
-									parentManager, (MMenuElement) object);
-						}
-					}
-					parentManager.update(false);
-				}
-			}
-		}
-	};
-
 	private MenuManagerRendererFilter rendererFilter;
 
 	@PostConstruct
@@ -280,7 +217,6 @@
 		eventBroker.subscribe(UIEvents.Item.TOPIC_ENABLED, enabledUpdater);
 		eventBroker
 				.subscribe(UIEvents.UIElement.TOPIC_ALL, toBeRenderedUpdater);
-		eventBroker.subscribe(ElementContainer.TOPIC_CHILDREN, childUpdater);
 
 		context.set(MenuManagerRenderer.class, this);
 		Display display = context.get(Display.class);
@@ -303,7 +239,6 @@
 		eventBroker.unsubscribe(selectionUpdater);
 		eventBroker.unsubscribe(enabledUpdater);
 		eventBroker.unsubscribe(toBeRenderedUpdater);
-		eventBroker.unsubscribe(childUpdater);
 
 		ContextInjectionFactory.uninject(MenuManagerEventHelper.showHelper,
 				context);
@@ -602,19 +537,6 @@
 		parentManager.update(false);
 	}
 
-	private void disposeMenuManager(MenuManager menuManager,
-			MenuManager parentManager, MMenu modelElement) {
-		clearModelToManager(modelElement, menuManager);
-		parentManager.remove(menuManager);
-	}
-
-	private void disposeContributionItem(IContributionItem contributionItem,
-			MenuManager parentManager, MMenuElement menuElement) {
-		clearModelToContribution(menuElement, contributionItem);
-		parentManager.remove(contributionItem);
-		// contributionItem.dispose();
-	}
-
 	private void addToManager(MenuManager parentManager, MMenuElement model,
 			IContributionItem menuManager) {
 		MElementContainer<MUIElement> parent = model.getParent();
@@ -707,8 +629,8 @@
 		Object obj = itemModel.getContributionItem();
 		if (obj instanceof IContextFunction) {
 			final IEclipseContext lclContext = getContext(itemModel);
-			ici = (IContributionItem) ((IContextFunction) obj).compute(
-					lclContext, null);
+			ici = (IContributionItem) ((IContextFunction) obj)
+					.compute(lclContext, null);
 			itemModel.setContributionItem(ici);
 		} else if (obj instanceof IContributionItem) {
 			ici = (IContributionItem) obj;