/// <summary>
        /// Display all the information in the data set.  This can be called, for example,
        /// after a data set has been read.
        /// </summary>
        public virtual void displayDataSet()
        {
            string routine = "StateMod_DataSet_JTree.displayDataSet";

            System.Collections.IList v = __dataset.getComponentGroups();
            int size = 0;

            if (v != null)
            {
                size = v.Count;
            }
            SimpleJTree_Node node = null, node2 = null;
            DataSetComponent comp    = null;
            bool             hadData = false;
            bool             isGroup = false;
            int type;

            // Add each component group...
            setFastAdd(true);
            Icon folder_Icon = getClosedIcon();

            for (int i = 0; i < size; i++)
            {
                hadData = false;
                isGroup = false;
                comp    = (DataSetComponent)v[i];
                if ((comp == null) || !comp.isVisible())
                {
                    continue;
                }
                type = comp.getComponentType();
                if (type == StateMod_DataSet.COMP_GEOVIEW_GROUP)
                {
                    // Don't want to list the groups because there is no
                    // way to display edit (or they are displayed elsewhere)...
                    continue;
                }
                node = new SimpleJTree_Node(comp.getComponentName());
                node.setData(comp);

                if (comp.isGroup())
                {
                    isGroup = true;
                }

                // To force groups to be folders, even if no data underneath...
                node.setIcon(folder_Icon);
                try
                {
                    addNode(node);
                }
                catch (Exception e)
                {
                    Message.printWarning(2, routine, "Error adding component group " + comp.getComponentName());
                    Message.printWarning(2, routine, e);
                    continue;
                }
                if (__display_data_objects)
                {
                    // Display the primary object in each group
                    hadData = displayDataSetComponent(comp, node);
                }
                else
                {
                    // Add the components in the group...
                    System.Collections.IList v2 = (System.Collections.IList)comp.getData();
                    int size2 = 0;
                    if (v2 != null)
                    {
                        size2 = v2.Count;
                    }
                    for (int j = 0; j < size2; j++)
                    {
                        comp = (DataSetComponent)v2[j];
                        if ((comp == null) || !comp.isVisible())
                        {
                            continue;
                        }
                        node2 = new SimpleJTree_Node(comp.getComponentName());
                        node2.setData(comp);
                        try
                        {
                            addNode(node2, node);
                        }
                        catch (Exception e)
                        {
                            Message.printWarning(2, routine, "Error adding component " + comp.getComponentName());
                            Message.printWarning(2, routine, e);
                            continue;
                        }
                    }
                    if (size2 > 0)
                    {
                        hadData = true;
                    }
                }
                if (isGroup && !hadData)
                {
                    node.setIcon(__folderIcon);
                }
            }
            setFastAdd(false);
        }