private void AssertAttachmentPutOperationNotVetoed(string key, RavenJObject metadata, byte[] data)
{
var vetoResult = AttachmentPutTriggers
.Select(trigger => new { Trigger = trigger, VetoResult = trigger.AllowPut(key, data, metadata) })
.FirstOrDefault(x => x.VetoResult.IsAllowed == false);
if (vetoResult != null)
{
throw new OperationVetoedException("PUT vetoed by " + vetoResult.Trigger + " because: " + vetoResult.VetoResult.Reason);
}
}