Bug 317954 Version deltas file so that incompatible changes will be ignored
The deltas file needs to be versioned so that incompatible changes will be discarded allowing the workbench to be constructed as if there were no deltas in existence.
bundles/org.eclipse.e4.ui.workbench/src/org/eclipse/e4/ui/internal/workbench/XMLModelReconciler.java
private ModelDelta createIndirectReferenceDelta(List<Object> references, EObject eObject,
			EStructuralFeature feature, Element node) {
		NodeList referencedIds = (NodeList) node;
		Element reference = getFirstElement(referencedIds);
		String referenceId = reference.getAttribute(APPLICATIONELEMENT_ELEMENTID_ATTNAME);
		Object match = findReference(references, referenceId);
		if (match == null) {
			return createDelayedDelta(eObject, feature, reference);
		}
		return new EMFModelDeltaSet(eObject, feature, match);
	}
	private ModelDelta createMapDelta(EObject object, Element innerElement,
			EStructuralFeature feature) {
		Map<String, String> deltaMap = new HashMap<String, String>();
		NodeList attributes = (NodeList) innerElement;
		for (int j = 0; j < attributes.getLength(); j++) {
			Node entry = attributes.item(j);
			if (entry instanceof Element) {
				Element keyValue = (Element) entry;
				String key = keyValue.getAttribute(ENTRY_ATTVALUE_KEY);
				String value = keyValue.getAttribute(ENTRY_ATTVALUE_VALUE);
				deltaMap.put(key, value);
			}
		}
		return new EMFDeltaMapSet(object, feature, deltaMap);
	}
	private ModelDelta createDelayedDelta(EObject object, EStructuralFeature feature,
			Element element) {
		String referenceId = element.getAttribute(XMIID_ATTNAME);
		return new EMFModelDeltaDelayedSet(object, feature, rootObject, referenceId);