public void Delete2(Transaction trans, ObjectReference @ref, object obj, int cascade , bool userCall) { // This check is performed twice, here and in delete3, intentionally. if (BreakDeleteForEnum(@ref, userCall)) { return; } if (obj is Entry) { if (!FlagForDelete(@ref)) { return; } Delete3(trans, @ref, obj, cascade, userCall); return; } trans.Delete(@ref, @ref.GetID(), cascade); }