private void PopulateList(GenApplicationBase parent)
        {
            var list = ParentObject.SubClass[ClassIdx];

            foreach (var item in list)
            {
                Add(new T {
                    GenDataBase = parent.GenDataBase, GenObject = item, Parent = parent
                });
            }
        }
        /// <summary>
        /// Create a new Generic named application list.
        /// </summary>
        /// <param name="parent">The list's parent object.</param>
        /// <param name="classId">The ClassID of the list's objects.</param>
        /// <param name="classIdx">The index of the underlying data in the parent object's subclasses list.</param>
        public GenNamedApplicationList(GenApplicationBase parent, int classId, int classIdx)
        {
            var className = typeof(T).Name;

            Parent       = parent;
            ClassId      = classId;
            ClassIdx     = classIdx;
            ParentObject = parent.GenObject as GenObject;
            if (ParentObject != null)
            {
                if (ClassIdx >= ParentObject.SubClass.Count)
                {
                    for (var i = ParentObject.SubClass.Count; i <= ClassIdx; i++)
                    {
                        ParentObject.SubClass.Add(new GenSubClass(ParentObject.GenDataBase, ParentObject, ClassId, null));
                    }
                }
                PopulateList(parent);
            }
            parent.Lists.Add(className, this);
        }