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);
}
}
}