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
}
	public static List<?> threeWayMerge(List<?> originalReferences, List<?> userReferences,
			List<?> currentReferences) {
		int userSize = userReferences.size();
		int originalSize = originalReferences.size();
		if (userSize == 0) {
			
			List<Object> collectedReferences = new ArrayList<Object>(currentReferences);
			collectedReferences.removeAll(originalReferences);
			return collectedReferences;
		} else if (originalSize == 0) {
			List<Object> collectedReferences = new ArrayList<Object>(userReferences);
			collectedReferences.addAll(currentReferences);
			return collectedReferences;
		} else if (currentReferences.isEmpty()) {
			
			return userReferences;
		} else if (currentReferences.size() == originalSize
				&& currentReferences.containsAll(originalReferences)) {
			
			return userReferences;
		}
		if (originalReferences.containsAll(userReferences)
				&& !userReferences.containsAll(originalReferences)) {
			List<Object> collectedReferences2 = new ArrayList<Object>(originalReferences);
			collectedReferences2.removeAll(userReferences);
			List<Object> collectedReferences = new ArrayList<Object>(currentReferences);
			collectedReferences.removeAll(collectedReferences2);
			return collectedReferences;
		}