--- E:\src\extern\nant\src\NAnt.Core\Types\a\Target.cs	Mon Dec 08 21:18:20 2003
+++ E:\src\extern\nant\src\NAnt.Core\Target.cs	Wed Jan 07 14:14:27 2004
@@ -210,25 +210,8 @@
                         if (!(childNode.NodeType == XmlNodeType.Element)|| !childNode.NamespaceURI.Equals(Project.Document.DocumentElement.NamespaceURI)) {
                             continue;
                         }
-                        
-                        if (TypeFactory.TaskBuilders.Contains(childNode.Name)) {
-                            Task task = Project.CreateTask(childNode, this);
-                            if (task != null) {
-                                task.Execute();
-                            }
-                        } else if (TypeFactory.DataTypeBuilders.Contains(childNode.Name)) {
-                            DataTypeBase dataType = Project.CreateDataTypeBase(childNode);
-                            Project.Log(Level.Verbose, "Adding a {0} reference with id '{1}'.", childNode.Name, dataType.ID);
-                            if ( ! Project.DataTypeReferences.Contains(dataType.ID ) )  {
-                                Project.DataTypeReferences.Add(dataType.ID, dataType);
-                            } 
-                            else {
-                                Project.DataTypeReferences[dataType.ID] = dataType; // overwrite with the new reference.
-                            }
-                        } else {
-                            string message = string.Format(CultureInfo.InvariantCulture,"invalid element <{0}>. Unknown task or datatype.", childNode.Name ); 
-                            throw new BuildException(message, Project.LocationMap.GetLocation(childNode) );
-                        }
+
+						Project.ExecuteNode(childNode,this);
                     }
                 } finally {
                     _executed = true;
