Getting all the nodes in a specific level of a tree
<p>Given the following class, used to build a tree hierarchy:</p>

<pre><code>public class simpletest
{
    public simpletest Parent { get; set; }
    public IList&lt;simpletest&gt; Children { get; set; }
    public string Name { get; set; }
}
</code></pre>

<p>How could I get a list of all objects for a specific level?</p>

<p>Here is some sample data (hopefully its formatted correctly):</p>

<pre><code>var root = new simpletest() { Name = "Root" };
var level1childA = new simpletest() { Name = "level1childA", Parent = root };
var level1childB = new simpletest() { Name = "level1childB", Parent = root };

var level2childA = new simpletest() { Name = "level2childA", Parent = level1childA };
var level2childB = new simpletest() { Name = "level2childB", Parent = level1childA };
var level2childC = new simpletest() { Name = "level2childC", Parent = level1childB };
var level2childD = new simpletest() { Name = "level3childD", Parent = level1childB };

var level3childA = new simpletest() { Name = "level3childA", Parent = level2childA };
var level3childB = new simpletest() { Name = "level3childB", Parent = level2childA };
var level3childC = new simpletest() { Name = "level3childC", Parent = level2childB };
var level3childD = new simpletest() { Name = "level3childD", Parent = level2childB };
var level3childE = new simpletest() { Name = "level3childE", Parent = level2childC };
var level3childF = new simpletest() { Name = "level3childF", Parent = level2childC };
var level3childG = new simpletest() { Name = "level3childG", Parent = level3childD };
var level3childH = new simpletest() { Name = "level3childH", Parent = level3childD };

level2childA.Children = new List&lt;simpletest&gt; { level3childA, level3childB };
level2childB.Children = new List&lt;simpletest&gt; { level3childC, level3childD };
level2childC.Children = new List&lt;simpletest&gt; { level3childE, level3childF };
level2childD.Children = new List&lt;simpletest&gt; { level3childG, level3childH };

level1childA.Children = new List&lt;simpletest&gt; { level2childA, level2childB };
level1childB.Children = new List&lt;simpletest&gt; { level2childC, level2childD };
</code></pre>

<p>So for example, using node level3childE, how would I get all the nodes from the same level? The node names can be anything.</p>
