public static TSource ElementAtOrDefault <TSource>(this IQueryable <TSource> source, Index index)
{
if (source == null)
{
// throw Error.ArgumentNull(nameof(source));
throw new ArgumentNullException(nameof(source));
}
return(source.Provider.Execute <TSource>(
Expression.Call(
null,
CachedReflectionInfo.ElementAtOrDefault_TSource_2(typeof(TSource)),
source.Expression, Expression.Constant(index)
)));
}