19
 Eclipse UML2 Project  |  Technology Exchange  |  © 2004 IBM Corporation
Implementing destroyHelper(...)
protected static void destroyHelper(EObject eObject, ResourceSet resourceSet) {
    for (Iterator eContents = eObject.eContents().iterator(); eContents.hasNext();) {
        destroyHelper((EObject) eContents.next(), resourceSet);
    }
    EcoreUtil.remove(eObject);
    if (null != resourceSet) {
        for (Iterator settings = EcoreUtil.UsageCrossReferencer.
          find(eObject, resourceSet).iterator(); settings.hasNext();) {
            EcoreUtil.remove((EStructuralFeature.Setting) settings.next(), eObject);
        }
    }
}