if (sm.isDetached())
throw newDetachedException(obj, "delete");
if ((action & OpCallbacks.ACT_CASCADE) != 0) {
if (!sm.isEmbedded() || !sm.getDereferencedEmbedDependent()) {
if (ValidatingLifecycleEventManager.class.isAssignableFrom(_lifeEventManager.getClass())) {
ValidatingLifecycleEventManager _validatingLCEventManager =
(ValidatingLifecycleEventManager) _lifeEventManager;
boolean saved = _validatingLCEventManager.setValidationEnabled(false);
try {
sm.cascadeDelete(call);
} finally {
_validatingLCEventManager.setValidationEnabled(saved);
}
} else {
sm.cascadeDelete(call);
}
}