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/SWTPartRenderer.java
public void getName(AccessibleEvent e) {
							e.result = ((MItemPart<?>) me).getName();
						}
					});
		}
	}
	protected Image getImage(MApplicationElement element) {
		if (element instanceof MItem) {
			IEclipseContext localContext = context;
			if (element instanceof MPart<?>) {
				localContext = getContext((MPart<?>) element);
			}
			String iconURI = ((MItem) element).getIconURI();
			if (iconURI != null && !iconURI.equals("null")) { 
				ISWTResourceUtiltities resUtils = (ISWTResourceUtiltities) localContext
						.get(IResourceUtiltities.class.getName());
				ImageDescriptor desc = resUtils.imageDescriptorFromURI(URI
						.createURI(iconURI));
				if (desc != null)
					return desc.createImage();
			}
		}
		return null;
	}
	/*
	 * (non-Javadoc)
	 * 
	 * @see
	 * org.eclipse.e4.workbench.ui.renderers.PartFactory#childAdded(org.eclipse
	 * .e4.ui.model.application.MPart,