/// <summary>
        /// A new test class has been added to the project so a new
        /// tree node is added if the class belongs to this namespace.
        /// </summary>
        void TestClassAdded(object source, TestClassEventArgs e)
        {
            if (e.TestClass.Namespace == fullNamespace)
            {
                // Add test class to our monitored test classes.
                testClasses.Add(e.TestClass);

                // Add a new tree node.
                TestClassTreeNode classNode = new TestClassTreeNode(TestProject, e.TestClass);
                classNode.AddTo(this);

                // Sort the nodes.
                SortChildNodes();
            }
            else if (isInitialized && NamespaceStartsWith(e.TestClass.Namespace))
            {
                // Check if there is a child namespace node for the class.
                string childNamespace = TestClass.GetChildNamespace(e.TestClass.Namespace, fullNamespace);
                if (!NamespaceNodeExists(childNamespace))
                {
                    // Add a new namespace node.
                    TestNamespaceTreeNode node = new TestNamespaceTreeNode(TestProject, fullNamespace, childNamespace);
                    node.AddTo(this);

                    // Sort the nodes.
                    SortChildNodes();
                }
            }
        }
        /// <summary>
        /// Adds the test class nodes for this namespace when the
        /// node is expanded.
        /// </summary>
        protected override void Initialize()
        {
            if (dummyNode != null)
            {
                Nodes.Clear();
            }

            // Add class nodes for this namespace.
            foreach (TestClass c in testClasses)
            {
                TestClassTreeNode classNode = new TestClassTreeNode(TestProject, c);
                classNode.AddTo(this);
            }

            // Sort the nodes.
            SortChildNodes();
        }
        /// <summary>
        /// Adds a new TestClassTreeNode to this node.
        /// </summary>
        void AddClassNode(TestClass c)
        {
            TestClassTreeNode node = new TestClassTreeNode(TestProject, c);

            node.AddTo(this);
        }
		/// <summary>
		/// Adds a new TestClassTreeNode to this node.
		/// </summary>
		void AddClassNode(TestClass c)
		{
			TestClassTreeNode node = new TestClassTreeNode(TestProject, c);
			node.AddTo(this);
		}
		/// <summary>
		/// A new test class has been added to the project so a new 
		/// tree node is added if the class belongs to this namespace.
		/// </summary>
		void TestClassAdded(object source, TestClassEventArgs e)
		{
			if (e.TestClass.Namespace == fullNamespace) {
				// Add test class to our monitored test classes.
				testClasses.Add(e.TestClass);
				
				// Add a new tree node.
				TestClassTreeNode classNode = new TestClassTreeNode(TestProject, e.TestClass);
				classNode.AddTo(this);
				
				// Sort the nodes.
				SortChildNodes();
			} else if (isInitialized && NamespaceStartsWith(e.TestClass.Namespace)) {
				// Check if there is a child namespace node for the class.
				string childNamespace = TestClass.GetChildNamespace(e.TestClass.Namespace, fullNamespace);
				if (!NamespaceNodeExists(childNamespace)) {
					// Add a new namespace node.
					TestNamespaceTreeNode node = new TestNamespaceTreeNode(TestProject, fullNamespace, childNamespace);
					node.AddTo(this);
					
					// Sort the nodes.
					SortChildNodes();
				}
			}
		}
		/// <summary>
		/// Adds the test class nodes for this namespace when the
		/// node is expanded.
		/// </summary>
		protected override void Initialize()
		{
			if (dummyNode != null) {
				Nodes.Clear();
			}
			
			// Add class nodes for this namespace.
			foreach (TestClass c in testClasses) {
				TestClassTreeNode classNode = new TestClassTreeNode(TestProject, c);
				classNode.AddTo(this);
			}
			
			// Sort the nodes.
			SortChildNodes();
		}