RESOLVED - bug 510864: unresolveUnreachableCrossProjectReferencesInModel changes order in lists https://bugs.eclipse.org/bugs/show_bug.cgi?id=510864
diff --git a/plugins/org.eclipse.sphinx.emf.workspace/src/org/eclipse/sphinx/emf/workspace/loading/operations/UnresolveUnreachableCrossProjectReferencesOperation.java b/plugins/org.eclipse.sphinx.emf.workspace/src/org/eclipse/sphinx/emf/workspace/loading/operations/UnresolveUnreachableCrossProjectReferencesOperation.java index 541e437..10571dc 100644 --- a/plugins/org.eclipse.sphinx.emf.workspace/src/org/eclipse/sphinx/emf/workspace/loading/operations/UnresolveUnreachableCrossProjectReferencesOperation.java +++ b/plugins/org.eclipse.sphinx.emf.workspace/src/org/eclipse/sphinx/emf/workspace/loading/operations/UnresolveUnreachableCrossProjectReferencesOperation.java
@@ -10,6 +10,7 @@ * Contributors: * itemis - Initial API and implementation * itemis - [510664] Model unloading throws exceptions for derived references + * itemis - [510864] unresolveUnreachableCrossProjectReferencesInModel changes order in lists * * </copyright> */ @@ -123,8 +124,8 @@ if (referencedObject != null && !referencedObject.eIsProxy()) { // Referenced object no longer part of same model as given object? if (!modelDescriptor.getScope().belongsTo(referencedObject.eResource(), true)) { - referencedObjects.remove(referencedObject); - referencedObjects.add(EObjectUtil.createProxyFrom(referencedObject, object.eResource())); + int idx = referencedObjects.indexOf(referencedObject); + referencedObjects.set(idx, EObjectUtil.createProxyFrom(referencedObject, object.eResource())); } } }