Bug 299272 Renderer cannot handle an MPart with a null label
java.lang.IllegalArgumentException: Argument cannot be null at org.eclipse.swt.SWT.error(SWT.java:4049) at org.eclipse.swt.SWT.error(SWT.java:3983) at org.eclipse.swt.SWT.error(SWT.java:3954) at org.eclipse.e4.ui.widgets.CTabItem.setText(CTabItem.java:1013) at org.eclipse.e4.workbench.ui.renderers.swt.StackRenderer.showChild(StackRenderer.java:296) at org.eclipse.e4.workbench.ui.renderers.swt.LazyStackRenderer.processContents(LazyStackRenderer.java:92) at org.eclipse.e4.ui.workbench.swt.internal.PartRenderingEngine.createGui(PartRenderingEngine.java:300) at org.eclipse.e4.ui.workbench.swt.internal.PartRenderingEngine.createGui(PartRenderingEngine.java:349) at org.eclipse.e4.workbench.ui.renderers.swt.SWTPartRenderer.processContents(SWTPartRenderer.java:54) at org.eclipse.e4.ui.workbench.swt.internal.PartRenderingEngine.createGui(PartRenderingEngine.java:300) at org.eclipse.e4.ui.workbench.swt.internal.PartRenderingEngine.createGui(PartRenderingEngine.java:349) at org.eclipse.e4.workbench.ui.renderers.swt.SWTPartRenderer.processContents(SWTPartRenderer.java:54) at org.eclipse.e4.workbench.ui.renderers.swt.WBWRenderer.processContents(WBWRenderer.java:369) at org.eclipse.e4.ui.workbench.swt.internal.PartRenderingEngine.createGui(PartRenderingEngine.java:300) at org.eclipse.e4.ui.workbench.swt.internal.PartRenderingEngine.createGui(PartRenderingEngine.java:349) at org.eclipse.e4.ui.workbench.swt.internal.PartRenderingEngine$4.run(PartRenderingEngine.java:510)
bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/workbench/ui/renderers/swt/StackRenderer.java
if (ctf.getItemCount() == 0 && !isEditorStack) {
			final Shell sh = ctf.getShell();
			parentElement.setToBeRendered(false);
			sh.getDisplay().asyncExec(new Runnable() {
				public void run() {
					if (!sh.isDisposed())
						sh.layout(true, true);
				}
			});
		}
		
		if (isEditorStack) {
			parentElement.getChildren().remove(child);
		}
	}
	@Override
	public void hookControllerLogic(final MUIElement me) {
		super.hookControllerLogic(me);
		if (!(me instanceof MElementContainer<?>))
			return;
		final MElementContainer<MUIElement> stack = (MElementContainer<MUIElement>) me;
		
		CTabFolder ctf = (CTabFolder) me.getWidget();
		ctf.addSelectionListener(new SelectionListener() {
			public void widgetDefaultSelected(SelectionEvent e) {
			}
			public void widgetSelected(SelectionEvent e) {
				MPart newPart = (MPart) e.item.getData(OWNING_ME);
				if (stack.getActiveChild() != newPart) {
					activate(newPart);