[241566] Issues in RemoveAdapters for node and children
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/EMF2DOMAdapterImpl.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/EMF2DOMAdapterImpl.java
index e0144f8..7bb4b2c 100644
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/EMF2DOMAdapterImpl.java
+++ b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/EMF2DOMAdapterImpl.java
@@ -702,12 +702,6 @@
 	 * Remove the DOM adapters from the node AND all its child nodes, recursively.
 	 */
 	public void removeAdapters(Node node) {
-		NodeList nl = node.getChildNodes();
-		for (int i = 0; i < nl.getLength(); i++) {
-			Node n = nl.item(i);
-			removeAdapters(n);
-		}
-		
 		EMF2DOMAdapter adapter = primGetExistingAdapter(node);
 		if (adapter != null) {
 			// Remove the adapter from both the DOM node and the MOF Object.
@@ -718,6 +712,11 @@
 					localTarget.eAdapters().remove(adapter);
 			}
 		}
+		NodeList nl = node.getChildNodes();
+		for (int i = 0; i < nl.getLength(); i++) {
+			Node n = nl.item(i);
+			removeAdapters(n);
+		}
 	}
 
 	/**