protected static void destroy(EObject eObject) { if (eObject.eContents().isEmpty()) { removeReferences(eObject, eObject); eObject.eAdapters().clear(); } else { for (Iterator<EObject> allContents = getAllContents(eObject, true, false); allContents.hasNext();) { removeReferences(allContents.next(), eObject); } for (Iterator<EObject> allContents = getAllContents(eObject, true, false); allContents.hasNext();) { (allContents.next()).eAdapters().clear(); } } EcoreUtil.remove(eObject); }
protected static void destroy(EObject eObject) { if (eObject.eContents().isEmpty()) { removeReferences(eObject, eObject); eObject.eAdapters().clear(); } else { for (Iterator<EObject> allContents = getAllContents(eObject, true, false); allContents.hasNext();) { removeReferences(allContents.next(), eObject); } for (Iterator<EObject> allContents = getAllContents(eObject, true, false); allContents.hasNext();) { (allContents.next()).eAdapters().clear(); } } EcoreUtil.remove(eObject); }