public IEnumerable<TreeViewModelBase> GetAncestors() { var list = new LinkedList<TreeViewModelBase>(); list.AddFirst(this); for (;;) { var parent = list.First.Value.Parent; if (parent == null) break; list.AddFirst(parent); } return list; }