Bug 283340 NPE is thrown when last child of stack is removed
1. Close the 'Outline' view. 2. That stack is now gone. An NPE is logged. java.lang.NullPointerException at org.eclipse.e4.workbench.ui.renderers.swt.StackModelFactory.childRemoved(StackModelFactory.java:315) at org.eclipse.e4.workbench.ui.renderers.swt.StackModelFactory$2.notifyChanged(StackModelFactory.java:265) at org.eclipse.emf.common.notify.impl.BasicNotifierImpl.eNotify(BasicNotifierImpl.java:280) at org.eclipse.e4.ui.model.internal.application.MPartImpl.setVisible(MPartImpl.java:457) at org.eclipse.e4.workbench.ui.renderers.swt.StackModelFactory$5.close(StackModelFactory.java:344) at org.eclipse.swt.custom.CTabFolder.onMouse(CTabFolder.java:2199) at org.eclipse.swt.custom.CTabFolder$1.handleEvent(CTabFolder.java:327)
bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/workbench/ui/renderers/swt/StackRenderer.java
MItemPart<?> itemPart = (MItemPart<?>) element;
		CTabFolder ctf = (CTabFolder) parentElement.getWidget();
		int createFlags = 0;
		
		
		CTabItem cti = findItemForPart(parentElement, element);
		if (cti == null) {
			int index = calcIndexFor(element);
			
			
			cti = new ETabItem((ETabFolder) ctf, createFlags, index);
			
			
			String cssClassName = (String) ctf
					.getData("org.eclipse.e4.ui.css.CssClassName"); 
			stylingEngine.setClassname(cti, cssClassName);
		}
		cti.setData(OWNING_ME, element);
		cti.setText(itemPart.getName());
		cti.setImage(getImage(element));
		cti.setControl((Control) element.getWidget());
		
		hookTabControllerLogic(parentElement, element, cti);
	}
	private int calcIndexFor(final MPart element) {
		int index = 0;
		
		EList<MPart> kids = element.getParent().getChildren();
		for (Iterator iterator = kids.iterator(); iterator.hasNext();) {
			MPart mPart = (MPart) iterator.next();