From c5b225b610ea7107a827dc53966bdbfd61470ba7 Mon Sep 17 00:00:00 2001
From: Daniel Ratiu <ratiu@fortiss.org>
Date: Thu, 17 Jan 2013 19:13:16 +0000
Subject: [PATCH] resolving this issue - now disconnecting elements from the
 library works again refs 1155

---
 .../tooling/base/library/ModelElementLibraryService.java | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/org.fortiss.tooling.base/trunk/src/org/fortiss/tooling/base/library/ModelElementLibraryService.java b/org.fortiss.tooling.base/trunk/src/org/fortiss/tooling/base/library/ModelElementLibraryService.java
index a146d7d61..c2640e8cc 100644
--- a/org.fortiss.tooling.base/trunk/src/org/fortiss/tooling/base/library/ModelElementLibraryService.java
+++ b/org.fortiss.tooling.base/trunk/src/org/fortiss/tooling/base/library/ModelElementLibraryService.java
@@ -21,6 +21,8 @@ import static org.eclipse.emf.ecore.util.EcoreUtil.copyAll;
 
 import java.util.List;
 
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.EList;
 import org.eclipse.emf.ecore.EObject;
 import org.fortiss.tooling.base.model.element.IConnector;
 import org.fortiss.tooling.base.model.element.IHierarchicElement;
@@ -42,7 +44,7 @@ import org.fortiss.tooling.kernel.service.IPersistencyService;
  * @author ratiu
  * @author $Author: hoelzl $
  * @version $Rev: 18709 $
- * @ConQAT.Rating YELLOW Hash: 904A5F32D40EB9E2C7FA5ABC1CC53DC7
+ * @ConQAT.Rating YELLOW Hash: 6AABB1E76AD510EFBA64B6315EA5137A
  */
 public class ModelElementLibraryService implements ILibraryService {
 
@@ -123,9 +125,12 @@ public class ModelElementLibraryService implements ILibraryService {
 				IHierarchicElement container = (IHierarchicElement)elementRef.eContainer();
 				container.getContainedElementsList().remove(elementRef);
 
-				for(IConnector connector : ((IHierarchicElement)elementRef).getConnectorsList()) {
+				EList<IConnector> connectorsList = new BasicEList<IConnector>();
+				connectorsList.addAll(((IHierarchicElement)elementRef).getConnectorsList());
+				for(IConnector connector : connectorsList) {
 					wrapped.getConnectorsList().add(connector);
 				}
+
 				((ILayoutedModelElement)wrapped).setLayoutData(copyAll(
 						((ILayoutedModelElement)elementRef).getLayoutDataList()).toArray(
 						new ILayoutData[2]));
-- 
GitLab