diff --git a/tests/auto/qml/qmldesigner/common/statichelpers.cpp b/tests/auto/qml/qmldesigner/common/statichelpers.cpp
index cbf122b643a4026d51a88e43ed5963d186d423f9..dfa7c57db8d79a26b163d686b6d39fa963298c7d 100644
--- a/tests/auto/qml/qmldesigner/common/statichelpers.cpp
+++ b/tests/auto/qml/qmldesigner/common/statichelpers.cpp
@@ -49,13 +49,20 @@
 //     }
 // }
 
-static ModelNode addChildNode(const ModelNode &parentNode, const QString &typeName, int major, int minor, const QString &parentProperty)
+static ModelNode addNodeListChild(const ModelNode &parentNode, const QString &typeName, int major, int minor, const QString &parentProperty)
 {
     ModelNode newNode = parentNode.view()->createModelNode(typeName, major, minor);
     parentNode.nodeListProperty(parentProperty).reparentHere(newNode);
     return newNode;
 }
 
+static ModelNode addNodeChild(const ModelNode &parentNode, const QString &typeName, int major, int minor, const QString &parentProperty)
+{
+    ModelNode newNode = parentNode.view()->createModelNode(typeName, major, minor);
+    parentNode.nodeProperty(parentProperty).reparentHere(newNode);
+    return newNode;
+}
+
 static QString bareTemplate("import Qt 4.6\n"
                             "Item { id: parentItem;"
                             "  %1"
diff --git a/tests/auto/qml/qmldesigner/coretests/testcore.cpp b/tests/auto/qml/qmldesigner/coretests/testcore.cpp
index 622727c938dcdcac77e50840b1ea441bdb59106e..8c4d94308e7b47056e86fb91be7ecbb8321be563 100644
--- a/tests/auto/qml/qmldesigner/coretests/testcore.cpp
+++ b/tests/auto/qml/qmldesigner/coretests/testcore.cpp
@@ -166,15 +166,15 @@ void TestCore::testRewriterView()
         testRewriterView->setTextModifier(&textModifier);
         model->attachView(testRewriterView.data());
 
-        ModelNode childNode(addChildNode(rootModelNode, "Qt/Rectangle", 4, 6, "data"));
+        ModelNode childNode(addNodeListChild(rootModelNode, "Qt/Rectangle", 4, 6, "data"));
         QVERIFY(childNode.isValid());
         childNode.setId("childNode");
 
-        ModelNode childNode2(addChildNode(childNode, "Qt/Rectangle", 4, 6, "data"));
+        ModelNode childNode2(addNodeListChild(childNode, "Qt/Rectangle", 4, 6, "data"));
         childNode2.setId("childNode2");
-        ModelNode childNode3(addChildNode(childNode2, "Qt/Rectangle", 4, 6, "data"));
+        ModelNode childNode3(addNodeListChild(childNode2, "Qt/Rectangle", 4, 6, "data"));
         childNode3.setId("childNode3");
-        ModelNode childNode4(addChildNode(childNode3, "Qt/Rectangle", 4, 6, "data"));
+        ModelNode childNode4(addNodeListChild(childNode3, "Qt/Rectangle", 4, 6, "data"));
         childNode4.setId("childNode4");
 
         QVERIFY(childNode.isValid());
@@ -200,7 +200,7 @@ void TestCore::testRewriterView()
 
         testRewriterView->modelToTextMerger()->applyChanges();
 
-        childNode = addChildNode(rootModelNode, "Qt/Rectangle", 4, 6, "data");
+        childNode = addNodeListChild(rootModelNode, "Qt/Rectangle", 4, 6, "data");
         QVERIFY(testRewriterView->modelToTextMerger()->isNodeScheduledForAddition(childNode));
 
         testRewriterView->modelToTextMerger()->applyChanges();
@@ -363,7 +363,7 @@ void TestCore::testModelCreateRect()
     model->attachView(view.data());
 
     QVERIFY(view->rootModelNode().isValid());
-    ModelNode childNode = addChildNode(view->rootModelNode(), "Qt/Rectangle", 4, 6, "data");
+    ModelNode childNode = addNodeListChild(view->rootModelNode(), "Qt/Rectangle", 4, 6, "data");
     QVERIFY(childNode.isValid());
     QVERIFY(view->rootModelNode().allDirectSubModelNodes().contains(childNode));
     QVERIFY(childNode.parentProperty().parentModelNode() == view->rootModelNode());
@@ -558,7 +558,7 @@ void TestCore::testModelCreateSubNode()
     QCOMPARE(view->methodCalls(), expectedCalls);
 
     QVERIFY(view->rootModelNode().isValid());
-    ModelNode childNode = addChildNode(view->rootModelNode(), "Qt/Rectangle", 4, 6, "data");
+    ModelNode childNode = addNodeListChild(view->rootModelNode(), "Qt/Rectangle", 4, 6, "data");
     QVERIFY(childNode.isValid());
     QVERIFY(view->rootModelNode().allDirectSubModelNodes().contains(childNode));
     QVERIFY(childNode.parentProperty().parentModelNode() == view->rootModelNode());
@@ -621,7 +621,7 @@ void TestCore::testTypicalRewriterOperations()
 
     QCOMPARE(rootModelNode.bindingProperty("test").expression(), QString("parent.x"));
 
-    ModelNode childNode(addChildNode(rootModelNode, "Qt/Rectangle", 4 ,6, "data"));
+    ModelNode childNode(addNodeListChild(rootModelNode, "Qt/Rectangle", 4 ,6, "data"));
     rootModelNode.nodeListProperty("test").reparentHere(childNode);
     QCOMPARE(childNode.parentProperty(), rootModelNode.nodeAbstractProperty("test"));
     QVERIFY(rootModelNode.property("test").isNodeAbstractProperty());
@@ -811,8 +811,8 @@ void TestCore::testModelBasicOperations()
     QVERIFY(!rootModelNode.hasProperty("width"));
 
     QVERIFY(!rootModelNode.hasProperty("children"));
-    ModelNode childNode1(addChildNode(rootModelNode, "Qt/Rectangle", 4, 6, "children"));
-    ModelNode childNode2(addChildNode(rootModelNode, "Qt/Rectangle", 4, 6, "data"));
+    ModelNode childNode1(addNodeListChild(rootModelNode, "Qt/Rectangle", 4, 6, "children"));
+    ModelNode childNode2(addNodeListChild(rootModelNode, "Qt/Rectangle", 4, 6, "data"));
 
     QVERIFY(childNode1.isValid());
     QVERIFY(childNode2.isValid());
@@ -860,9 +860,9 @@ void TestCore::testModelResolveIds()
     ModelNode rootNode = view->rootModelNode();
     rootNode.setId("rootNode");
 
-    ModelNode childNode1(addChildNode(rootNode, "Qt/Rectangle", 4, 6, "children"));
+    ModelNode childNode1(addNodeListChild(rootNode, "Qt/Rectangle", 4, 6, "children"));
 
-    ModelNode childNode2(addChildNode(childNode1, "Qt/Rectangle", 4, 6, "children"));
+    ModelNode childNode2(addNodeListChild(childNode1, "Qt/Rectangle", 4, 6, "children"));
     childNode2.setId("childNode2");
     childNode2.bindingProperty("test").setExpression("parent.parent");
 
@@ -873,7 +873,7 @@ void TestCore::testModelResolveIds()
     childNode2.bindingProperty("test").setExpression("rootNode");
     QCOMPARE(childNode2.bindingProperty("test").resolveToModelNode(), rootNode);
 
-    ModelNode childNode3(addChildNode(childNode2, "Qt/Rectangle", 4, 6, "children"));
+    ModelNode childNode3(addNodeListChild(childNode2, "Qt/Rectangle", 4, 6, "children"));
     childNode3.setId("childNode3");
     childNode2.nodeProperty("front").setModelNode(childNode3);
     childNode2.bindingProperty("test").setExpression("childNode3.parent");
@@ -999,8 +999,8 @@ void TestCore::testBasicOperationsWithView()
     QCOMPARE(rootInstance.size().width(), 10.0);
     QCOMPARE(rootInstance.size().height(), 10.0);
 
-    ModelNode childNode(addChildNode(rootModelNode, "Qt/Rectangle", 4, 6, "data"));
-    ModelNode childNode2(addChildNode(childNode, "Qt/Rectangle", 4, 6, "data"));
+    ModelNode childNode(addNodeListChild(rootModelNode, "Qt/Rectangle", 4, 6, "data"));
+    ModelNode childNode2(addNodeListChild(childNode, "Qt/Rectangle", 4, 6, "data"));
     QVERIFY(childNode2.parentProperty().parentModelNode() == childNode);
 
     QVERIFY(childNode.isValid());
@@ -1035,10 +1035,10 @@ void TestCore::testBasicOperationsWithView()
         QVERIFY(!childInstance2.isValid());
     }
 
-    childNode = addChildNode(rootModelNode, "Qt/Image", 4, 6, "data");
+    childNode = addNodeListChild(rootModelNode, "Qt/Image", 4, 6, "data");
     QVERIFY(childNode.isValid());
     QCOMPARE(childNode.type(), QString("Qt/Image"));
-    childNode2 = addChildNode(childNode, "Qt/Rectangle", 4, 6, "data");
+    childNode2 = addNodeListChild(childNode, "Qt/Rectangle", 4, 6, "data");
     QVERIFY(childNode2.isValid());
     childNode2.setParentProperty(rootModelNode, "data");
     QVERIFY(childNode2.isValid());
@@ -1210,7 +1210,7 @@ void TestCore::testModelCreateInvalidSubNode()
     model->attachView(view.data());
 
     try {
-        ModelNode invalidChildNode = addChildNode(view->rootModelNode(), "InvalidNode", 0, 0, "data");
+        ModelNode invalidChildNode = addNodeListChild(view->rootModelNode(), "InvalidNode", 0, 0, "data");
         QFAIL("Adding an invalid typed node should result in an exception");
     } catch (Exception& exception) {
         QCOMPARE(exception.type(), QString("InvalidModelNodeException"));
@@ -1232,7 +1232,7 @@ void TestCore::testModelRemoveNode()
     QCOMPARE(view->rootModelNode().allDirectSubModelNodes().count(), 0);
 
 
-    ModelNode childNode = addChildNode(view->rootModelNode(), "Qt/Rectangle", 4, 6, "data");
+    ModelNode childNode = addNodeListChild(view->rootModelNode(), "Qt/Rectangle", 4, 6, "data");
     QVERIFY(childNode.isValid());
     QCOMPARE(view->rootModelNode().allDirectSubModelNodes().count(), 1);
     QVERIFY(view->rootModelNode().allDirectSubModelNodes().contains(childNode));
@@ -1244,7 +1244,7 @@ void TestCore::testModelRemoveNode()
         QVERIFY(childInstance.parent() == nodeInstanceView->instanceForNode(view->rootModelNode()));
     }
 
-    ModelNode subChildNode = addChildNode(childNode, "Qt/Rectangle", 4, 6, "data");
+    ModelNode subChildNode = addNodeListChild(childNode, "Qt/Rectangle", 4, 6, "data");
     QVERIFY(subChildNode.isValid());
     QCOMPARE(childNode.allDirectSubModelNodes().count(), 1);
     QVERIFY(childNode.allDirectSubModelNodes().contains(subChildNode));
@@ -1300,7 +1300,7 @@ void TestCore::reparentingNode()
     NodeInstanceView *nodeInstanceView = new NodeInstanceView(model.data());
     model->attachView(nodeInstanceView);
 
-    ModelNode childNode = addChildNode(rootModelNode, "Qt/Rectangle", 4, 6, "data");
+    ModelNode childNode = addNodeListChild(rootModelNode, "Qt/Rectangle", 4, 6, "data");
     QCOMPARE(childNode.parentProperty().parentModelNode(), rootModelNode);
     QVERIFY(rootModelNode.allDirectSubModelNodes().contains(childNode));
 
@@ -1310,7 +1310,7 @@ void TestCore::reparentingNode()
         QVERIFY(childInstance.parent() == nodeInstanceView->instanceForNode(view->rootModelNode()));
     }
 
-    ModelNode childNode2 = addChildNode(rootModelNode, "Qt/Item", 4, 6, "data");
+    ModelNode childNode2 = addNodeListChild(rootModelNode, "Qt/Item", 4, 6, "data");
     QCOMPARE(childNode2.parentProperty().parentModelNode(), rootModelNode);
     QVERIFY(rootModelNode.allDirectSubModelNodes().contains(childNode2));
 
@@ -1370,7 +1370,7 @@ void TestCore::reparentingNodeLikeDragAndDrop()
     view->rootModelNode().setId("rootModelNode");
     QCOMPARE(view->rootModelNode().id(), QString("rootModelNode"));
 
-    ModelNode rectNode = addChildNode(view->rootModelNode(), "Qt/Rectangle", 4, 6, "data");
+    ModelNode rectNode = addNodeListChild(view->rootModelNode(), "Qt/Rectangle", 4, 6, "data");
     rectNode.setId("rect_1");
     rectNode.variantProperty("x").setValue(20);
     rectNode.variantProperty("y").setValue(30);
@@ -1379,7 +1379,7 @@ void TestCore::reparentingNodeLikeDragAndDrop()
 
     RewriterTransaction transaction(view->beginRewriterTransaction());
 
-    ModelNode textNode = addChildNode(view->rootModelNode(), "Qt/Text", 4, 6, "data");
+    ModelNode textNode = addNodeListChild(view->rootModelNode(), "Qt/Text", 4, 6, "data");
     QCOMPARE(textNode.parentProperty().parentModelNode(), view->rootModelNode());
     QVERIFY(view->rootModelNode().allDirectSubModelNodes().contains(textNode));
 
@@ -1480,11 +1480,11 @@ void TestCore::testModelReorderSiblings()
     ModelNode rootModelNode = view->rootModelNode();
     QVERIFY(rootModelNode.isValid());
 
-    ModelNode a = addChildNode(rootModelNode, "Qt/Rectangle", 4, 6, "data");
+    ModelNode a = addNodeListChild(rootModelNode, "Qt/Rectangle", 4, 6, "data");
     QVERIFY(a.isValid());
-    ModelNode b = addChildNode(rootModelNode, "Qt/Rectangle", 4, 6, "data");
+    ModelNode b = addNodeListChild(rootModelNode, "Qt/Rectangle", 4, 6, "data");
     QVERIFY(b.isValid());
-    ModelNode c = addChildNode(rootModelNode, "Qt/Rectangle", 4, 6, "data");
+    ModelNode c = addNodeListChild(rootModelNode, "Qt/Rectangle", 4, 6, "data");
     QVERIFY(c.isValid());
 
     {
@@ -1529,10 +1529,10 @@ void TestCore::testModelRootNode()
         ModelNode rootModelNode = view->rootModelNode();
         QVERIFY(rootModelNode.isValid());
         QVERIFY(rootModelNode.isRootNode());
-        ModelNode topChildNode = addChildNode(rootModelNode, "Qt/Rectangle", 4, 6, "data");
+        ModelNode topChildNode = addNodeListChild(rootModelNode, "Qt/Rectangle", 4, 6, "data");
         QVERIFY(topChildNode.isValid());
         QVERIFY(rootModelNode.isRootNode());
-        ModelNode childNode = addChildNode(rootModelNode, "Qt/Rectangle", 4, 6, "data");
+        ModelNode childNode = addNodeListChild(rootModelNode, "Qt/Rectangle", 4, 6, "data");
         QVERIFY(childNode.isValid());
         QVERIFY(rootModelNode.isValid());
         QVERIFY(rootModelNode.isRootNode());
@@ -1556,8 +1556,8 @@ void TestCore::reparentingNodeInModificationGroup()
     QVERIFY(view.data());
     model->attachView(view.data());
 
-    ModelNode childNode = addChildNode(view->rootModelNode(), "Qt/Rectangle", 4, 6, "data");
-    ModelNode childNode2 = addChildNode(view->rootModelNode(), "Qt/Item", 4, 6, "data");
+    ModelNode childNode = addNodeListChild(view->rootModelNode(), "Qt/Rectangle", 4, 6, "data");
+    ModelNode childNode2 = addNodeListChild(view->rootModelNode(), "Qt/Item", 4, 6, "data");
     childNode.variantProperty("x").setValue(10);
     childNode.variantProperty("y").setValue(10);
 
@@ -1672,7 +1672,7 @@ void TestCore::testModelViewNotification()
     QCOMPARE(view1->methodCalls(), expectedCalls);
     QCOMPARE(view2->methodCalls(), expectedCalls);
 
-    ModelNode childNode = addChildNode(view2->rootModelNode(), "Qt/Rectangle", 4, 6, "data");
+    ModelNode childNode = addNodeListChild(view2->rootModelNode(), "Qt/Rectangle", 4, 6, "data");
     expectedCalls << TestView::MethodCall("nodeCreated", QStringList() << "");
     expectedCalls << TestView::MethodCall("nodeReparented", QStringList() << "" << "data" << "" << "PropertiesAdded");
     QCOMPARE(view1->methodCalls(), expectedCalls);
@@ -1732,7 +1732,7 @@ void TestCore::testRewriterTransaction()
     RewriterTransaction transaction = view->beginRewriterTransaction();
     QVERIFY(transaction.isValid());
 
-    ModelNode childNode = addChildNode(view->rootModelNode(), "Qt/Rectangle", 4, 6, "data");
+    ModelNode childNode = addNodeListChild(view->rootModelNode(), "Qt/Rectangle", 4, 6, "data");
     QVERIFY(childNode.isValid());
 
     childNode.destroy();
@@ -1742,7 +1742,7 @@ void TestCore::testRewriterTransaction()
         RewriterTransaction transaction2 = view->beginRewriterTransaction();
         QVERIFY(transaction2.isValid());
 
-        ModelNode childNode = addChildNode(view->rootModelNode(), "Qt/Rectangle", 4, 6, "data");
+        ModelNode childNode = addNodeListChild(view->rootModelNode(), "Qt/Rectangle", 4, 6, "data");
         QVERIFY(childNode.isValid());
 
         childNode.destroy();
@@ -1840,12 +1840,12 @@ void TestCore::testRewriterNodeReparentingTransaction1()
 
     QVERIFY(rootModelNode.isValid());
 
-    ModelNode childNode1 = addChildNode(rootModelNode, "Qt/Rectangle", 4, 6, "data");
-    ModelNode childNode2 = addChildNode(rootModelNode, "Qt/Rectangle", 4, 6, "data");
-    ModelNode childNode3 = addChildNode(rootModelNode, "Qt/Rectangle", 4, 6, "data");
-    ModelNode childNode4 = addChildNode(rootModelNode, "Qt/Rectangle", 4, 6, "data");
+    ModelNode childNode1 = addNodeListChild(rootModelNode, "Qt/Rectangle", 4, 6, "data");
+    ModelNode childNode2 = addNodeListChild(rootModelNode, "Qt/Rectangle", 4, 6, "data");
+    ModelNode childNode3 = addNodeListChild(rootModelNode, "Qt/Rectangle", 4, 6, "data");
+    ModelNode childNode4 = addNodeListChild(rootModelNode, "Qt/Rectangle", 4, 6, "data");
 
-    ModelNode reparentNode = addChildNode(childNode1, "Qt/Rectangle", 4, 6, "data");
+    ModelNode reparentNode = addNodeListChild(childNode1, "Qt/Rectangle", 4, 6, "data");
 
     RewriterTransaction rewriterTransaction = view->beginRewriterTransaction();
 
@@ -1885,8 +1885,8 @@ void TestCore::testRewriterNodeReparentingTransaction2()
 
     QVERIFY(rootModelNode.isValid());
 
-    ModelNode childNode1 = addChildNode(rootModelNode, "Qt/Rectangle", 4, 6, "data");
-    ModelNode childNode2 = addChildNode(rootModelNode, "Qt/Rectangle", 4, 6, "data");
+    ModelNode childNode1 = addNodeListChild(rootModelNode, "Qt/Rectangle", 4, 6, "data");
+    ModelNode childNode2 = addNodeListChild(rootModelNode, "Qt/Rectangle", 4, 6, "data");
 
     childNode2.variantProperty("x") = 200;
     childNode2.variantProperty("y") = 50;
@@ -1951,10 +1951,10 @@ void TestCore::testRewriterNodeReparentingTransaction3()
 
    QVERIFY(rootModelNode.isValid());
 
-   ModelNode childNode1 = addChildNode(rootModelNode, "Qt/Rectangle", 4, 6, "data");
-   ModelNode childNode2 = addChildNode(rootModelNode, "Qt/Rectangle", 4, 6, "data");
-   ModelNode childNode3 = addChildNode(rootModelNode, "Qt/Rectangle", 4, 6, "data");
-   ModelNode childNode4 = addChildNode(rootModelNode, "Qt/Rectangle", 4, 6, "data");
+   ModelNode childNode1 = addNodeListChild(rootModelNode, "Qt/Rectangle", 4, 6, "data");
+   ModelNode childNode2 = addNodeListChild(rootModelNode, "Qt/Rectangle", 4, 6, "data");
+   ModelNode childNode3 = addNodeListChild(rootModelNode, "Qt/Rectangle", 4, 6, "data");
+   ModelNode childNode4 = addNodeListChild(rootModelNode, "Qt/Rectangle", 4, 6, "data");
 
    RewriterTransaction rewriterTransaction = view->beginRewriterTransaction();
 
@@ -2001,11 +2001,11 @@ void TestCore::testRewriterNodeReparentingTransaction4()
 
    QVERIFY(rootModelNode.isValid());
 
-   ModelNode childNode1 = addChildNode(rootModelNode, "Qt/Rectangle", 4, 6, "data");
-   ModelNode childNode2 = addChildNode(rootModelNode, "Qt/Rectangle", 4, 6, "data");
-   ModelNode childNode3 = addChildNode(rootModelNode, "Qt/Rectangle", 4, 6, "data");
-   ModelNode childNode4 = addChildNode(rootModelNode, "Qt/Rectangle", 4, 6, "data");
-   ModelNode childNode5 = addChildNode(childNode2, "Qt/Rectangle", 4, 6, "data");
+   ModelNode childNode1 = addNodeListChild(rootModelNode, "Qt/Rectangle", 4, 6, "data");
+   ModelNode childNode2 = addNodeListChild(rootModelNode, "Qt/Rectangle", 4, 6, "data");
+   ModelNode childNode3 = addNodeListChild(rootModelNode, "Qt/Rectangle", 4, 6, "data");
+   ModelNode childNode4 = addNodeListChild(rootModelNode, "Qt/Rectangle", 4, 6, "data");
+   ModelNode childNode5 = addNodeListChild(childNode2, "Qt/Rectangle", 4, 6, "data");
 
    RewriterTransaction rewriterTransaction = view->beginRewriterTransaction();
 
@@ -2053,7 +2053,7 @@ void TestCore::testRewriterAddNodeTransaction()
     QVERIFY(rootModelNode.isValid());
 
 
-    ModelNode childNode = addChildNode(rootModelNode, "Qt/Rectangle", 4, 6, "data");
+    ModelNode childNode = addNodeListChild(rootModelNode, "Qt/Rectangle", 4, 6, "data");
 
     RewriterTransaction rewriterTransaction = view->beginRewriterTransaction();
 
@@ -2137,7 +2137,7 @@ void TestCore::testRewriterTransactionRewriter()
 
     {
         RewriterTransaction transaction = view->beginRewriterTransaction();
-        childNode1 = addChildNode(rootModelNode, "Qt/Rectangle", 4, 6, "data");
+        childNode1 = addNodeListChild(rootModelNode, "Qt/Rectangle", 4, 6, "data");
         childNode1.variantProperty("x") = 10;
         childNode1.variantProperty("y") = 10;
     }
@@ -2149,7 +2149,7 @@ void TestCore::testRewriterTransactionRewriter()
 
     {
         RewriterTransaction transaction = view->beginRewriterTransaction();
-        childNode2 = addChildNode(childNode1, "Qt/Rectangle", 4, 6, "data");
+        childNode2 = addNodeListChild(childNode1, "Qt/Rectangle", 4, 6, "data");
         childNode2.destroy();
     }
 
@@ -2504,7 +2504,7 @@ void TestCore::testRewriterPreserveType()
     textNode.variantProperty("font.bold") = QVariant(true);
     textNode.variantProperty("font.pointSize") = QVariant(13.0);
 
-    ModelNode newTextNode = addChildNode(rootNode, "Qt/Text", 4, 6, "data");
+    ModelNode newTextNode = addNodeListChild(rootNode, "Qt/Text", 4, 6, "data");
 
     newTextNode.variantProperty("font.bold") = QVariant(true);
     newTextNode.variantProperty("font.pointSize") = QVariant(13.0);
@@ -3161,7 +3161,7 @@ void TestCore::testMetaInfo()
     QVERIFY(!view->rootModelNode().metaInfo().hasProperty("blah"));
     QVERIFY(!view->rootModelNode().metaInfo().property("blah").isValid());
 
-    ModelNode rectNode = addChildNode(view->rootModelNode(), "Qt/Rectangle", 4, 6, "data");
+    ModelNode rectNode = addNodeListChild(view->rootModelNode(), "Qt/Rectangle", 4, 6, "data");
 
     QVERIFY(rectNode.metaInfo().isSubclassOf("Qt/QtObject"));
     QVERIFY(rectNode.metaInfo().isSubclassOf("Qt/Item"));
@@ -3170,7 +3170,7 @@ void TestCore::testMetaInfo()
     QVERIFY(rectNode.metaInfo().hasProperty("x"));
     QVERIFY(!rectNode.metaInfo().hasProperty("blah"));
 
-    ModelNode textNode = addChildNode(view->rootModelNode(), "Qt/TextEdit", 4, 6, "data");
+    ModelNode textNode = addNodeListChild(view->rootModelNode(), "Qt/TextEdit", 4, 6, "data");
     NodeMetaInfo textNodeMetaInfo = textNode.metaInfo();
     QVERIFY(textNodeMetaInfo.hasProperty("text"));
     QVERIFY(textNodeMetaInfo.property("text").isValid());
@@ -3214,7 +3214,7 @@ void TestCore::testMetaInfoDotProperties()
     QVERIFY(view->rootModelNode().metaInfo().hasProperty("font.pointSize", true));
     QVERIFY(view->rootModelNode().metaInfo().property("font.pointSize", true).isValid());
 
-    ModelNode rectNode(addChildNode(view->rootModelNode(), "Qt/Rectangle", 4, 6, "data"));
+    ModelNode rectNode(addNodeListChild(view->rootModelNode(), "Qt/Rectangle", 4, 6, "data"));
 
 
     QVERIFY(rectNode.metaInfo().properties(true).keys().contains("pos.x"));
@@ -3336,8 +3336,6 @@ void TestCore::testStatesRewriter()
 
 void TestCore::testGradientsRewriter()
 {
-    QSKIP("Fix me!!! Task BAUHAUS-392", SkipAll);
-
     QPlainTextEdit textEdit;
     textEdit.setPlainText("\nimport Qt 4.6\n\nItem {\n}\n");
     NotIndentingTextEditModifier modifier(&textEdit);
@@ -3358,7 +3356,7 @@ void TestCore::testGradientsRewriter()
 
     QVERIFY(rootModelNode.isValid());
 
-    ModelNode rectNode(addChildNode(rootModelNode, "Qt/Rectangle", 4, 6, "data"));
+    ModelNode rectNode(addNodeListChild(rootModelNode, "Qt/Rectangle", 4, 6, "data"));
 
     const QLatin1String expected1("\nimport Qt 4.6\n"
                                   "\n"
@@ -3368,7 +3366,7 @@ void TestCore::testGradientsRewriter()
                                   "}\n");
     QCOMPARE(textEdit.toPlainText(), expected1);
 
-    ModelNode gradientNode(addChildNode(rectNode, "Qt/Gradient", 4, 6, "gradient"));
+    ModelNode gradientNode(addNodeChild(rectNode, "Qt/Gradient", 4, 6, "gradient"));
 
     QVERIFY(rectNode.hasNodeProperty("gradient"));
 
@@ -3376,8 +3374,8 @@ void TestCore::testGradientsRewriter()
                                   "\n"
                                   "Item {\n"
                                   "Rectangle {\n"
-                                  "    gradient: Gradient {\n"
-                                  "    }\n"
+                                  "gradient: Gradient {\n"
+                                  "}\n"
                                   "}\n"
                                   "}\n");
     QCOMPARE(textEdit.toPlainText(), expected2);
@@ -3397,12 +3395,12 @@ void TestCore::testGradientsRewriter()
                                   "\n"
                                   "Item {\n"
                                   "Rectangle {\n"
-                                  "    gradient: Gradient {\n"
-                                  "        GradientStop {\n"
-                                  "            position: 0\n"
-                                  "            color: \"#ff0000\"\n"
-                                  "        }\n"
-                                  "    }\n"
+                                  "gradient: Gradient {\n"
+                                  "GradientStop {\n"
+                                  "    position: 0\n"
+                                  "    color: \"#ff0000\"\n"
+                                  "}\n"
+                                  "}\n"
                                   "}\n"
                                   "}\n");
 
@@ -3420,17 +3418,17 @@ void TestCore::testGradientsRewriter()
                                   "\n"
                                   "Item {\n"
                                   "Rectangle {\n"
-                                  "    gradient: Gradient {\n"
-                                  "        GradientStop {\n"
-                                  "            position: 0\n"
-                                  "            color: \"#ff0000\"\n"
-                                  "        }\n"
+                                  "gradient: Gradient {\n"
+                                  "GradientStop {\n"
+                                  "    position: 0\n"
+                                  "    color: \"#ff0000\"\n"
+                                  "}\n"
                                   "\n"
-                                  "        GradientStop {\n"
-                                  "            position: 0.5\n"
-                                  "            color: \"#0000ff\"\n"
-                                  "        }\n"
-                                  "    }\n"
+                                  "GradientStop {\n"
+                                  "    position: 0.5\n"
+                                  "    color: \"#0000ff\"\n"
+                                  "}\n"
+                                  "}\n"
                                   "}\n"
                                   "}\n");
 
@@ -3448,22 +3446,22 @@ void TestCore::testGradientsRewriter()
                                   "\n"
                                   "Item {\n"
                                   "Rectangle {\n"
-                                  "    gradient: Gradient {\n"
-                                  "        GradientStop {\n"
-                                  "            position: 0\n"
-                                  "            color: \"#ff0000\"\n"
-                                  "        }\n"
+                                  "gradient: Gradient {\n"
+                                  "GradientStop {\n"
+                                  "    position: 0\n"
+                                  "    color: \"#ff0000\"\n"
+                                  "}\n"
                                   "\n"
-                                  "        GradientStop {\n"
-                                  "            position: 0.5\n"
-                                  "            color: \"#0000ff\"\n"
-                                  "        }\n"
+                                  "GradientStop {\n"
+                                  "    position: 0.5\n"
+                                  "    color: \"#0000ff\"\n"
+                                  "}\n"
                                   "\n"
-                                  "        GradientStop {\n"
-                                  "            position: 0.8\n"
-                                  "            color: \"#ffff00\"\n"
-                                  "        }\n"
-                                  "    }\n"
+                                  "GradientStop {\n"
+                                  "    position: 0.8\n"
+                                  "    color: \"#ffff00\"\n"
+                                  "}\n"
+                                  "}\n"
                                   "}\n"
                                   "}\n");
 
@@ -3475,8 +3473,8 @@ void TestCore::testGradientsRewriter()
                                   "\n"
                                   "Item {\n"
                                   "Rectangle {\n"
-                                  "    gradient: Gradient {\n"
-                                  "    }\n"
+                                  "gradient: Gradient {\n"
+                                  "}\n"
                                   "}\n"
                                   "}\n");
 
@@ -4012,11 +4010,11 @@ void TestCore::testQmlModelStatesInvalidForRemovedNodes()
     QVERIFY(state1.isValid());
     QCOMPARE(state1.name(), QString("state1"));
 
-    ModelNode childNode = addChildNode(rootModelNode, "Qt/Rectangle", 4, 6, "data");
+    ModelNode childNode = addNodeListChild(rootModelNode, "Qt/Rectangle", 4, 6, "data");
     QVERIFY(childNode.isValid());
     childNode.setId("childNode");
 
-    ModelNode subChildNode = addChildNode(childNode, "Qt/Rectangle", 4, 6, "data");
+    ModelNode subChildNode = addNodeListChild(childNode, "Qt/Rectangle", 4, 6, "data");
     QVERIFY(subChildNode.isValid());
     subChildNode.setId("subChildNode");
 
@@ -4044,7 +4042,7 @@ void TestCore::testInstancesAttachToExistingModel()
     model->attachView(view.data());
 
     ModelNode rootNode = view->rootModelNode();
-    ModelNode rectangleNode = addChildNode(rootNode, "Qt/Rectangle", 4, 6, "data");
+    ModelNode rectangleNode = addNodeListChild(rootNode, "Qt/Rectangle", 4, 6, "data");
 
     rectangleNode.variantProperty("width").setValue(100);
 
@@ -4328,12 +4326,12 @@ void TestCore::defaultPropertyValues()
     QCOMPARE(view->rootModelNode().variantProperty("x").value().toDouble(), 0.0);
     QCOMPARE(view->rootModelNode().variantProperty("width").value().toDouble(), 0.0);
 
-    ModelNode rectNode(addChildNode(view->rootModelNode(), "Qt/Rectangle", 4, 6, "data"));
+    ModelNode rectNode(addNodeListChild(view->rootModelNode(), "Qt/Rectangle", 4, 6, "data"));
 
     QCOMPARE(rectNode.variantProperty("y").value().toDouble(), 0.0);
     QCOMPARE(rectNode.variantProperty("width").value().toDouble(), 0.0);
 
-    ModelNode imageNode(addChildNode(view->rootModelNode(), "Qt/Image", 4, 6, "data"));
+    ModelNode imageNode(addNodeListChild(view->rootModelNode(), "Qt/Image", 4, 6, "data"));
 
     QCOMPARE(imageNode.variantProperty("y").value().toDouble(), 0.0);
     QCOMPARE(imageNode.variantProperty("width").value().toDouble(), 0.0);
@@ -4371,7 +4369,7 @@ void TestCore::testModelNodeInHierarchy()
     model->attachView(view.data());
 
     QVERIFY(view->rootModelNode().isInHierarchy());
-    ModelNode node1 = addChildNode(view->rootModelNode(), "Qt/Item", 4, 6, "data");
+    ModelNode node1 = addNodeListChild(view->rootModelNode(), "Qt/Item", 4, 6, "data");
     QVERIFY(node1.isInHierarchy());
     ModelNode node2 = view->createModelNode("Qt/Item", 4, 6);
     QVERIFY(!node2.isInHierarchy());
@@ -4406,11 +4404,11 @@ void TestCore::testModelNodeIsAncestorOf()
     model->attachView(view.data());
 
     view->rootModelNode().setId("item1");
-    ModelNode item2 = addChildNode(view->rootModelNode(), "Qt/Item", 4, 6, "data");
+    ModelNode item2 = addNodeListChild(view->rootModelNode(), "Qt/Item", 4, 6, "data");
     item2.setId("item2");
-    ModelNode item3 = addChildNode(view->rootModelNode(), "Qt/Item", 4, 6, "data");
+    ModelNode item3 = addNodeListChild(view->rootModelNode(), "Qt/Item", 4, 6, "data");
     item3.setId("item3");
-    ModelNode item4 = addChildNode(item3, "Qt/Item", 4, 6, "data");
+    ModelNode item4 = addNodeListChild(item3, "Qt/Item", 4, 6, "data");
     item4.setId("item4");
 
     QVERIFY(view->rootModelNode().isAncestorOf(item2));
@@ -4780,7 +4778,7 @@ void TestCore::testModelBindings()
     QCOMPARE(rootInstance.size().width(), 200.0);
     QCOMPARE(rootInstance.size().height(), 100.0);
 
-    ModelNode childNode = addChildNode(rootModelNode, "Qt/Rectangle", 4, 6, "data");
+    ModelNode childNode = addNodeListChild(rootModelNode, "Qt/Rectangle", 4, 6, "data");
 
     childNode.variantProperty("width") = 100;
     childNode.variantProperty("height") = 100;
@@ -4941,10 +4939,10 @@ void TestCore::testModelSliding()
 
     ModelNode rootModelNode(view->rootModelNode());
 
-    ModelNode rect00(addChildNode(rootModelNode, "Qt/Rectangle", 4, 6, "data"));
-    ModelNode rect01(addChildNode(rootModelNode, "Qt/Rectangle", 4, 6, "data"));
-    ModelNode rect02(addChildNode(rootModelNode, "Qt/Rectangle", 4, 6, "data"));
-    ModelNode rect03(addChildNode(rootModelNode, "Qt/Rectangle", 4, 6, "data"));
+    ModelNode rect00(addNodeListChild(rootModelNode, "Qt/Rectangle", 4, 6, "data"));
+    ModelNode rect01(addNodeListChild(rootModelNode, "Qt/Rectangle", 4, 6, "data"));
+    ModelNode rect02(addNodeListChild(rootModelNode, "Qt/Rectangle", 4, 6, "data"));
+    ModelNode rect03(addNodeListChild(rootModelNode, "Qt/Rectangle", 4, 6, "data"));
 
     QVERIFY(rect00.isValid());
     QVERIFY(rect01.isValid());
@@ -5576,8 +5574,8 @@ void TestCore::testRewriterRemoveObjectDefinition()
 
     // don't crash when deleting nodes not in any hierarchy
     ModelNode node1 = view->createModelNode("Qt/Rectangle", 4, 6);
-    ModelNode node2 = addChildNode(node1, "Qt/Item", 4, 6, "data");
-    ModelNode node3 = addChildNode(node2, "Qt/Item", 4, 6, "data");
+    ModelNode node2 = addNodeListChild(node1, "Qt/Item", 4, 6, "data");
+    ModelNode node3 = addNodeListChild(node2, "Qt/Item", 4, 6, "data");
 
     node3.destroy();
     node1.destroy();
@@ -6103,7 +6101,7 @@ void TestCore::changePropertyBinding()
     ModelNode rootModelNode(view->rootModelNode());
     rootModelNode.variantProperty("width") = 20;
 
-    ModelNode firstChild = addChildNode(rootModelNode, "Qt/Rectangle", 4, 6, "data");
+    ModelNode firstChild = addNodeListChild(rootModelNode, "Qt/Rectangle", 4, 6, "data");
     firstChild.bindingProperty("width").setExpression(QString("parent.width"));
     firstChild.variantProperty("height")=  10;
     QVERIFY(firstChild.isValid());
@@ -6312,7 +6310,7 @@ void TestCore::changeGradientId()
         firstStop.destroy();
         QVERIFY(!firstStop.isValid());
 
-        ModelNode gradientStop  = addChildNode(gradientNode, "Qt/GradientStop", 4, 6, "stops");
+        ModelNode gradientStop  = addNodeListChild(gradientNode, "Qt/GradientStop", 4, 6, "stops");
         gradientStop.variantProperty("position") = 0.5;
         gradientStop.variantProperty("color") = QColor("yellow");