WPF - Recursive DataTemplates to display graphs/trees or Recursive objects