[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);
+ }
}
/**