in Elastic.SemanticKernel.Connectors.Elasticsearch/Internal/Linq/AsyncEnumerable.cs [62:74]
public static async ValueTask<T?> LastOrDefaultAsync<T>(this IAsyncEnumerable<T> source, CancellationToken cancellationToken = default)
{
var last = default(T)!; // NB: Only matters when hasLast is set to true.
var hasLast = false;
await foreach (var item in source.WithCancellation(cancellationToken).ConfigureAwait(false))
{
hasLast = true;
last = item;
}
return hasLast ? last! : default;
}