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
refCtrl.setParent(phComp);
			phComp.layout(new Control[] { refCtrl }, SWT.DEFER);
			if (ref instanceof MPart
					&& ph.getParent().getWidget() instanceof CTabFolder) {
				
				MPart part = (MPart) ref;
				CTabFolder ctf = (CTabFolder) ph.getParent().getWidget();
				MToolBar tbModel = part.getToolbar();
				if (tbModel != null && tbModel.getWidget() != null) {
					ToolBar oldTB = (ToolBar) tbModel.getWidget();
					if (oldTB.getParent() instanceof CTabFolder) {
						CTabFolder oldCTF = (CTabFolder) oldTB.getParent();
						if (oldCTF.getTopRight() == oldTB)
							oldCTF.setTopRight(null);
					}
					
					Control curTopRight = ctf.getTopRight();
					if (curTopRight != null && !curTopRight.isDisposed())
						curTopRight.dispose();
					oldTB.setParent(ctf);
					ctf.setTopRight(oldTB);
				}
			}
			element = ref;
		}
		if (element instanceof MContext) {
			IEclipseContext context = ((MContext) element).getContext();
			if (context != null) {
				IEclipseContext newParentContext = modelService
						.getContainingContext(element);