Bug 304863 [Compatibility] NPE thrown when using multiple consoles
1. Window > Show View > Console 2. Click the dropdown > New Console View 3. Close the new view. 4. Try clicking the dropdown again. 5. Nothing happens. An NPE is logged. java.lang.NullPointerException at org.eclipse.ui.internal.console.OpenConsoleAction.getMenu(OpenConsoleAction.java:83) at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:530) at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:501) at org.eclipse.jface.action.ActionContributionItem$6.handleEvent(ActionContributionItem.java:452) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/ui/workbench/renderers/swt/LazyStackRenderer.java
if (element == null || element.getWidget() == null)
			return;
		if (element instanceof MPlaceholder) {
			element = ((MPlaceholder) element).getRef();
		}
		
		if (element instanceof MWindow && element.getWidget() != null) {
			element.setVisible(false);
		}
		
		if (element instanceof MPartStack && !element.isVisible()) {
			MWindow window = modelService.getTopLevelWindowFor(element);
			String trimId = element.getElementId() + "(minimized)"; 
			MPerspective persp = modelService.getPerspectiveFor(element);
			if (persp != null)
				trimId = element.getElementId() + '(' + persp.getElementId()
						+ ')';
			MToolControl trimCtrl = (MToolControl) modelService.find(trimId,
					window);
			if (trimCtrl != null && trimCtrl.getObject() != null) {
				IEclipseContext ctxt = EclipseContextFactory.create();
				ctxt.set("show", false); 
				ContextInjectionFactory.invoke(trimCtrl.getObject(),
						Execute.class, ctxt);
				trimCtrl.setVisible(false);
			}
		}
		goingHidden.add(element);
		if (element instanceof MGenericStack<?>) {