title: How to flatten tree via LINQ?
body: <p>So I have simple tree:</p>
  
  <pre><code>class MyNode
  {
   public MyNode Parent;
   public IEnumerable&lt;MyNode&gt; Elements;
   int group = 1;
  }
  </code></pre>
  
  <p>I have a <code>IEnumerable&lt;MyNode&gt;</code>. I want to get a list of all <code>MyNode</code> (including inner node objects (<code>Elements</code>)) as one flat list <code>Where</code> <code>group == 1</code>. How to do such thing via LINQ?</p>