Bug 308629 [Compatibility] NPE thrown when restarting Eclipse
It's trying to add bindings to the application and failing. java.lang.NullPointerException at org.eclipse.emf.common.util.AbstractEList.getNonDuplicates(AbstractEList.java:1167) at org.eclipse.emf.common.util.AbstractEList.addAll(AbstractEList.java:372) at org.eclipse.e4.ui.model.application.impl.ApplicationImpl.eSet(ApplicationImpl.java:417) at org.eclipse.emf.ecore.impl.BasicEObjectImpl.eSet(BasicEObjectImpl.java:1081) at org.eclipse.e4.workbench.ui.internal.EMFModelDeltaSet.apply(EMFModelDeltaSet.java:31) at org.eclipse.e4.workbench.ui.internal.ModelReconcilingService.applyDeltas(ModelReconcilingService.java:54) at org.eclipse.e4.workbench.ui.internal.ModelReconcilingService.applyDeltas(ModelReconcilingService.java:36) at org.eclipse.e4.workbench.ui.internal.ResourceHandler.loadMostRecentModel(ResourceHandler.java:173) at org.eclipse.e4.ui.workbench.swt.internal.E4Application.loadApplicationModel(E4Application.java:194) at org.eclipse.e4.ui.workbench.swt.internal.E4Application.createE4Workbench(E4Application.java:129)
bundles/org.eclipse.e4.ui.workbench/src/org/eclipse/e4/workbench/ui/internal/XMLModelReconciler.java
NodeList objectReferenceNodes = (NodeList) item;
							for (int j = 0; j < objectReferenceNodes.getLength(); j++) {
								Node refNode = objectReferenceNodes.item(j);
								if (refNode instanceof Element) {
									Object objectReference = getReference(deltas,
											(Element) refNode, references);
									if (objectReference != null) {
										objectReferences.add(objectReference);
									}
								}
							}
							IDelta delta = new EMFModelDeltaSet(object, attributeFeature,
									objectReferences);
							compositeDelta.add(delta);
						} else if (isUnorderedChainedAttribute(attributeName)) {
							ModelDelta delta = createUnorderedChainedAttributeDelta(object,
									attributeFeature, item, attributeName);
							deltas.add(delta);
						} else if (isStringToStringMap(attributeName)) {
							EStructuralFeature feature = getStructuralFeature(object, attributeName);
							EMap map = (EMap) object.eGet(feature);
							NodeList attributes = (NodeList) item;
							for (int j = 0; j < attributes.getLength(); j++) {
								Node entry = attributes.item(j);
								if (entry instanceof Element) {
									Element keyValue = (Element) entry;
									map.put(keyValue.getAttribute(ENTRY_ATTVALUE_KEY), keyValue
											.getAttribute(ENTRY_ATTVALUE_VALUE));
								}
							}