Virtually every object is contained in a group object. Thus, groups provide a way of managing other objects, creating them, ordering them, and iterating through them. A particular group typically manages objects of the same type. Thus, a group of units always contains units of one form or another. Groups have a default type of object that they expect to contain, and this is what they will create if asked to create a new object.
Groups also have a notion of a default element , which can be useful.
For example, the default element of the group of color specifications on the root object is the default color spec that will be used by all windows that need a color spec. There are two basic types of groups. The simpler form of group is actually just a List . A List object manages a single list of elements, and does not allow for any sub-grouping of these elements. Lists are used to hold simple objects that probably don't need to have such subgroups.