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 }); }); }