public void PopulateItem(Type type)
        {
            var          assemblyName = type.Assembly.GetName().Name;
            TreeListItem attachPoint  = RootItem.FindItemByName(assemblyName);

            if (attachPoint == null)
            {
                attachPoint = RootItem.AddItem(assemblyName, false, true, new SystemTypeTreeInfo(assemblyName));
                AddHandlerEvents(attachPoint);
            }

            var namespaces = type.Namespace.Split('.');

            foreach (var ns in namespaces)
            {
                var next = attachPoint.FindItemByName(ns);
                if (next == null)
                {
                    attachPoint = attachPoint.AddItem(ns, false, false, new SystemTypeTreeInfo(ns));
                    AddHandlerEvents(attachPoint);
                }
                else
                {
                    attachPoint = next;
                }
            }
            var t = attachPoint.AddItem(type.Name, true, false, new SystemTypeTreeInfo(type));

            AddHandlerEvents(t);
        }