title: Custom property descriptor and flattening hierarchies
body: <p>I have a custom property descriptor that I use to support flattening object hierarchies.</p>
  
  <p>To accomplish this I subclassed <code>PropertyDescriptor</code> and I store a linked list to the "next" (child) property that I want to retrieve the value for.</p>
  
  <p>This enables me to bind subproperties to a grid(export to excel, whatever) in a "flat" manner.</p>
  
  <p>eg.
      Grid(bound Property, Caption)</p>
  
  <pre><code>Col1:Customer.Name(Customer)
  Col2:Customer.Address(Address)
  Col3:Customer.OutstandingOrders.Count(Outstanding Orders)
  </code></pre>
  
  <p>The problem is that once I add in a column with a duplicate name, regardless of the fact it's got a unique caption it will retrieve the property for the 1st one but still put the correct header in:</p>
  
  <pre><code>Col4:Customer.Company.Name(Company)
  </code></pre>
  
  <p>Any ideas?</p>