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
return CONTRIBUTION_PERSISTEDSTATE_ATTNAME;
				}
			}
		}
		return null;
	}
	private Element persistEntry(Document document, EObject object) {
		EObject container = object.eContainer();
		if (getOriginalId(container) == null) {
			return null;
		}
		Entry<?, ?> entry = (Entry<?, ?>) object;
		String elementName = getEntryElementName(container, entry);
		if (elementName == null) {
			return null;
		}
		Element element = createElement(document, elementName, container);
		element.setAttribute(ENTRY_ATTVALUE_KEY, (String) entry.getKey());
		String value = (String) entry.getValue();
		if (value == null) {
			element.setAttribute(UNSET_ATTNAME, UNSET_ATTVALUE_TRUE);
		} else {
			element.setAttribute(ENTRY_ATTVALUE_VALUE, (String) entry.getValue());
		}
		return element;
	}
	private Element createElement(Document document, EObject object) {
		Class<?> rootInterface = object.getClass().getInterfaces()[0];