private void RefreshTree()
        {
            SimpleDirectoryNode node;

            this.browserView.BeginUpdate();
            this.browserView.Nodes.Clear();

            if (classpathList.Count > 0)
            {
                foreach(string cp in classpathList)
                {
                    foreach (string item in Directory.GetDirectories(cp))
                    {
                        if (IsDirectoryExcluded(item) == false)
                        {
                            node = new SimpleDirectoryNode(item, Path.Combine(cp, item));
                            node.ImageIndex = Icons.Folder.Index;
                            node.SelectedImageIndex = Icons.Folder.Index;
                            this.browserView.Nodes.Add(node);
                        }
                    }
                }
            }
            this.browserView.EndUpdate();

        }
        private void onBeforeExpandNode(Object sender, TreeViewCancelEventArgs e)
        {
            SimpleDirectoryNode newNode;

            if (e.Node is SimpleDirectoryNode)
            {
                SimpleDirectoryNode node = e.Node as SimpleDirectoryNode;
                if (node.dirty)
                {
                    node.dirty = false;
                    e.Node.Nodes.Clear();

                    foreach (string item in Directory.GetDirectories(node.directoryPath))
                    {
                        if (IsDirectoryExcluded(item) == false)
                        {
                            newNode = new SimpleDirectoryNode(item, Path.Combine(node.directoryPath, item));
                            newNode.ImageIndex = Icons.Folder.Index;
                            newNode.SelectedImageIndex = Icons.Folder.Index;
                            node.Nodes.Add(newNode);
                        }
                    }
                }
            }
        }