private void Build(TreeNode node, AuthItem item)
        {
            bool accessible = mRole.CheckAccess(item);

            node.Text        = item.DisplayName;
            node.ImageIndex  = GetAuthItemImageIndex(item);
            node.Tag         = item;
            node.ToolTipText = string.Format("{0} {1}", (accessible ? "(accessible)" : "(not accessible)"), item.Description);
            node.Checked     = mRole.HasItem(item);
            node.ForeColor   = accessible ? Color.Black : Color.Red;
            foreach (AuthItem child_item in item.Children)
            {
                TreeNode child_node = new TreeNode();
                node.Nodes.Add(child_node);
                Build(child_node, child_item);
            }
        }