private void AssertAttachmentDeleteOperationNotVetoed(string key)
{
var vetoResult = AttachmentDeleteTriggers
.Select(trigger => new { Trigger = trigger, VetoResult = trigger.AllowDelete(key) })
.FirstOrDefault(x => x.VetoResult.IsAllowed == false);
if (vetoResult != null)
{
throw new OperationVetoedException("DELETE vetoed by " + vetoResult.Trigger + " because: " + vetoResult.VetoResult.Reason);
}
}