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)
tests/org.eclipse.e4.ui.tests/src/org/eclipse/e4/ui/tests/reconciler/ModelReconcilerBindingContainerTest.java
keyBinding = bindingTable.getBindings().get(0);
		assertEquals(command, keyBinding.getCommand());
		assertEquals(keySequence, keyBinding.getKeySequence());
	}
	public void testBindingContainer_Add_BoundKeyBinding_Null()
			throws Exception {
		testBindingContainer_Add_BoundKeyBinding(null);
	}
	public void testBindingContainer_Add_BoundKeyBinding_Empty()
			throws Exception {
		testBindingContainer_Add_BoundKeyBinding("");
	}
	public void testBindingContainer_Add_BoundKeyBinding_String()
			throws Exception {
		testBindingContainer_Add_BoundKeyBinding("Ctrl+S");
	}
	private void testBindingContainer_Remove_BoundKeyBinding(String keySequence)
			throws Exception {
		MApplication application = createApplication();
		MBindingTable bindingTable = MApplicationFactory.eINSTANCE
				.createBindingTable();
		application.getBindingTables().add(bindingTable);
		MCommand command = MApplicationFactory.eINSTANCE.createCommand();
		application.getCommands().add(command);
		MKeyBinding keyBinding = MApplicationFactory.eINSTANCE
				.createKeyBinding();
		keyBinding.setKeySequence(keySequence);
		keyBinding.setCommand(command);
		bindingTable.getBindings().add(keyBinding);
		saveModel();