diff --git a/org.fortiss.tooling.base/trunk/src/org/fortiss/tooling/base/utils/LayoutDataUtils.java b/org.fortiss.tooling.base/trunk/src/org/fortiss/tooling/base/utils/LayoutDataUtils.java
index 1e326fc53efbd7baa2017539106b96d66a6f78c5..f71d0c196ded30538ee3a12d2a63ee42605f978f 100644
--- a/org.fortiss.tooling.base/trunk/src/org/fortiss/tooling/base/utils/LayoutDataUtils.java
+++ b/org.fortiss.tooling.base/trunk/src/org/fortiss/tooling/base/utils/LayoutDataUtils.java
@@ -32,6 +32,10 @@ import static org.fortiss.tooling.base.utils.PointUtils.setPoint;
 import static org.fortiss.tooling.base.utils.RectangleLayoutUtils.layoutNodeInRoot;
 import static org.fortiss.tooling.kernel.utils.EcoreUtils.copy;
 
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.emf.common.util.TreeIterator;
 import org.eclipse.emf.ecore.EObject;
 import org.fortiss.tooling.base.dnd.ElementDropContext;
 import org.fortiss.tooling.base.layout.LayoutKeyConstants;
@@ -57,7 +61,7 @@ import org.fortiss.tooling.kernel.extension.data.IElementCompositionContext;
  * @author hummel
  * @author $Author$
  * @version $Rev$
- * @ConQAT.Rating YELLOW Hash: D0471E64A1CE82CAAD2E58A6D30FD5A5
+ * @ConQAT.Rating YELLOW Hash: 88A392D0ACFEDEA4B6D4B85919A5CEDB
  */
 public class LayoutDataUtils {
 
@@ -156,4 +160,26 @@ public class LayoutDataUtils {
 			}
 		}
 	}
+
+	/**
+	 * @param obj
+	 *            Removes all the layout-related data (including for descendants) in
+	 *            <code>obj</code>.
+	 */
+	public static void filterAllLayoutData(EObject obj) {
+		if(obj instanceof ILayoutedModelElement) {
+			((ILayoutedModelElement)obj).getLayoutData().clear();
+		}
+		TreeIterator<EObject> contents = obj.eAllContents();
+		List<ILayoutedModelElement> toClears = new ArrayList<ILayoutedModelElement>();
+		while(contents.hasNext()) {
+			EObject elt = contents.next();
+			if(elt instanceof ILayoutedModelElement) {
+				toClears.add((ILayoutedModelElement)elt);
+			}
+		}
+		for(ILayoutedModelElement toClear : toClears) {
+			toClear.getLayoutData().clear();
+		}
+	}
 }