title: Two Trees: one Tree's nodes contains a List of objects; the 2nd Tree's objects contains references to the first Tree's objects. Can it be done in C#?
body: <p>I want to build 2 Tree structures. The first Tree will contain nodes, each with List of my <code>Range</code> object:</p>
  
  <pre><code>class Range {
       public DateTime Start { get; set; }
       public DateTime End { get; set; }
  }
  </code></pre>
  
  <p>The Tree structure will look like this:</p>
  
  <p><a href="https://i.stack.imgur.com/GGy8x.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/GGy8x.png" alt="enter image description here"></a></p>
  
  <p>I then want a 2nd Tree build <em>from</em> the 1st Tree. It will have a similar structure, however, when changes are made to the Range object in the 2nd Tree, I want the Range objects in the first tree to also change. Effectively, I need to hold references or pointers to the Range objects in the first Tree:</p>
  
  <p><strong>Tree #2:</strong></p>
  
  <p><a href="https://i.stack.imgur.com/y0Xh5.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/y0Xh5.png" alt="enter image description here"></a></p>
  
  <p>C# is my language of preference and I know you can use the <code>ref</code> keyword, but I wonder if C# is really the right language for this or do I need something with pointers like C++?</p>