/// <summary> /// Returns a future to a single value from a data-source or the default value if no values /// are encountered. An exception /// is thrown if multiple values are encountered. /// </summary> /// <param name="source">The source data-producer.</param> /// <exception cref="InvalidOperationException">Multiple terms are encountered.</exception> public static IFuture <TSource> SingleOrDefault <TSource>(this IDataProducer <TSource> source) { return(source.SingleOrDefault(x => true)); }