public TreeViewNode tryAdd( TreeViewNode node ) {
			try {
				nodes.Add( node.name, node );
				return node;
			} catch {
				return nodes[ node.name ];
			}
		}
        private void buildTreeView( TreeEntryChanges change )
        {
            int index = change.Path.LastIndexOf( "\\" );
            string folder = ( index >= 0 ) ? change.Path.Substring( 0, index ) : "\\";

            TreeViewNode node = new TreeViewNode( folder.Trim() );
            TreeViewItem item = new TreeViewItem( change );

            treeView.tryAdd( node ).tryAdd( item );
        }