;d describe it: we iterate over each item in the source, and if the predicate returns true for that particular item, we yield (include) it in the output sequence.</p>  <p>Lo and behold, some of our tests pass already. Now we just need argument validation. That&#39;s easy, right? Let&#39;s give it a go:</p>  <div class="code"><span class="InlineComment">// Naive validation - broken!</span>     <br /><span class="Modifier">public</span>&#160;<span class="Modifier">static</span> IEnumerable&lt;TSource&gt; Wher