title: how to filter from nested collections without ForEach?
body: <p>I have an entity say Type A with property type List of B. Type B also has a property of type List of C.</p>
  
  <p>I want to apply the filter on object of A such that there would be only C objects in the List of C for which their Selected property is True.</p>
  
  <p>This can be done like:</p>
  
  <pre><code>A objA = A.ListB.ForEach(b =&gt; {b.ListC.RemoveAll(c =&gt; c.Selected == false);});
  </code></pre>
  
  <p>But I don't have to remove all those C Objects which have Selected = false. I only want to filter them. </p>
  
  <p>Any ideas?</p>
  
  <hr>
  
  <p><strong>More explanation:</strong> There is an object of Type A, with List of B property. In each B object of A's List of B, there exists a List of C property. 
  C object has a Selected Property. Now, all I need is- an object of A with List of B, where in each of B's List of C has only those C objects which have Selected = true.
  The desirable output is type A. List B shouldn't be filtered only List C needs to be filtered.</p>