/// <summary> /// Returns a data-producer that will ignore the /// elements from the start of a sequence while a condition /// is satsified; when the condition fails for an element, /// that element and all subsequent elements are yielded. /// </summary> /// <param name="source">The source data-producer</param> /// <param name="predicate">The condition to skip elements</param> public static IDataProducer <TSource> SkipWhile <TSource>(this IDataProducer <TSource> source, DotNet20.Func <TSource, bool> predicate) { predicate.ThrowIfNull("predicate"); return(source.SkipWhile((t, index) => predicate(t))); }