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.getWindow_Y();
		} else if (featureName.equals(WINDOW_WIDTH_ATTNAME)) {
			return MApplicationPackage.eINSTANCE.getWindow_Width();
		} else if (featureName.equals(WINDOW_HEIGHT_ATTNAME)) {
			return MApplicationPackage.eINSTANCE.getWindow_Height();
		} else if (featureName.equals(PARTDESCRIPTOR_ALLOWMULTIPLE_ATTNAME)) {
			return MApplicationPackage.eINSTANCE.getPartDescriptor_AllowMultiple();
		} else if (featureName.equals(PARTDESCRIPTOR_CATEGORY_ATTNAME)) {
			return MApplicationPackage.eINSTANCE.getPartDescriptor_Category();
		} else if (featureName.equals(PART_CLOSEABLE_ATTNAME)) {
			return MApplicationPackage.eINSTANCE.getPart_Closeable();
		} else if (featureName.equals(INPUT_INPUTURI_ATTNAME)) {
			return MApplicationPackage.eINSTANCE.getInput_InputURI();
		} else if (featureName.equals(CONTEXT_PROPERTIES_ATTNAME)) {
			return MApplicationPackage.eINSTANCE.getContext_Properties();
		}
		Activator.log(IStatus.WARNING, "Unknown feature found, reconciliation may fail: " 
				+ object.eClass().getName() + '#' + featureName);
		for (EStructuralFeature sf : object.eClass().getEAllStructuralFeatures()) {
			if (sf.getName().equals(featureName)) {
				return sf;
			}
		}
		return null;
	}
	private Object getValue(EStructuralFeature feature, String featureValue) {
		Class<?> instanceClass = feature.getEType().getInstanceClass();
		if (instanceClass == String.class) {
			return featureValue;
		} else if (instanceClass == int.class) {