private void AddReplyForUpdateCommand <TDto, TEntityField, TReplyMessage>(
     ICollection <TDto> dtos,
     params TEntityField[] changedFields)
     where TReplyMessage : EntityUpdatedMessage <TDto, TEntityField>, ISagaMessage, new()
     where TEntityField : IConvertible
     where TDto : DataTransferObject, new()
 {
     TransportMock.OnUpdateEntityCommand <TDto>().Reply(
         x =>
     {
         dtos.Remove(dtos.Single(storedEntity => storedEntity.ID == x.ID));
         dtos.Add(x);
         return(new TReplyMessage {
             Dto = x, ChangedFields = changedFields
         });
     });
 }