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 MApplicationPackage.eINSTANCE.getUIElement_ToBeRendered();
		} else if (featureName.equals(UIELEMENT_VISIBLE_ATTNAME)) {
			return MApplicationPackage.eINSTANCE.getUIElement_Visible();
		} else if (featureName.equals(ELEMENTCONTAINER_CHILDREN_ATTNAME)) {
			return MApplicationPackage.eINSTANCE.getElementContainer_Children();
		} else if (featureName.equals(UIELEMENT_PARENT_ATTNAME)) {
			return MApplicationPackage.eINSTANCE.getUIElement_Parent();
		} else if (featureName.equals(UIELEMENT_CONTAINERDATA_ATTNAME)) {
			return MApplicationPackage.eINSTANCE.getUIElement_ContainerData();
		} else if (featureName.equals(ELEMENTCONTAINER_SELECTEDELEMENT_ATTNAME)) {
			return MApplicationPackage.eINSTANCE.getElementContainer_SelectedElement();
		} else if (featureName.equals(COMMAND_COMMANDNAME_ATTNAME)) {
			return MApplicationPackage.eINSTANCE.getCommand_CommandName();
		} else if (featureName.equals(COMMAND_DESCRIPTION_ATTNAME)) {
			return MApplicationPackage.eINSTANCE.getCommand_Description();
		} else if (featureName.equals(KEYSEQUENCE_KEYSEQUENCE_ATTNAME)) {
			return MApplicationPackage.eINSTANCE.getKeySequence_KeySequence();
		} else if (featureName.equals(BINDINGCONTAINER_BINDINGTABLES_ATTNAME)) {
			return MApplicationPackage.eINSTANCE.getBindingContainer_BindingTables();
		} else if (featureName.equals(BINDINGCONTAINER_ROOTCONTEXT_ATTNAME)) {
			return MApplicationPackage.eINSTANCE.getBindingContainer_RootContext();
		} else if (featureName.equals(BINDINGTABLES_BINDINGS_ATTNAME)) {
			return MApplicationPackage.eINSTANCE.getBindingTable_Bindings();
		} else if (featureName.equals(HANDLER_COMMAND_ATTNAME)
				|| featureName.equals(KEYBINDING_COMMAND_ATTNAME)
				|| featureName.equals(HANDLEDITEM_COMMAND_ATTNAME)) {
			
			if (object instanceof MKeyBinding) {
				return MApplicationPackage.eINSTANCE.getKeyBinding_Command();
			} else if (object instanceof MHandler) {