e is <em>not</em> modified in any way: this isn&#39;t like <a href="http://msdn.microsoft.com/en-us/library/wdka673a.aspx">List&lt;T&gt;.RemoveAll</a>, for example. </li>    <li>The method uses <em>deferred execution</em> - until you start trying to fetch items from the output sequence, it won&#39;t start fetching items from the input sequence </li>    <li>Despite deferred execution, it will validate that the parameters aren&#39;t null immediately </li>    <li>It <em>streams</em> its results: it only ever n