/// <inheritdoc /> public async Task <TResponse> Next(TRequest request, CancellationToken cancellationToken) { try { var pipelineHandler = _pipelines.GetNextPipelineHandler(); return(await pipelineHandler.HandleAsync(request, this, cancellationToken)); } catch (Exception exception) { if (IsFaulted && Exception != null) { throw; } IsFaulted = true; Exception = exception; await _pipelines.HandleException(exception, this, cancellationToken); return(default);