public async Task <BatchResponse> Submit(BatchRequest batchRequest, CancellationToken token) { batchRequest.VerifyNotNull(nameof(batchRequest)); _logger.LogTrace($"{nameof(Submit)}: Executing batch"); ExecuteRequest[] executeRequests = _option.Hosts .Join(batchRequest.Models, x => x.ModelName, x => x.ModelName, (host, request) => new ExecuteRequest(request, host), StringComparer.OrdinalIgnoreCase) .ToArray(); return(new BatchResponse { Request = batchRequest.Request, Responses = (await Submit(executeRequests, batchRequest.Request, token)).ToList(), }); }