requests.test5 = {
    "requests" : [{
            "getData" : {
                "source" : "DsRestAPI_Test_DataSource",
                "element" : "EntityGroups",
                "params" : [],
                "children" : [{
                        "getData" : {
                            "source" : "DsRestAPI_Test_DataSource",
                            "element" : "Scenarios",
                            "params" : [{
                                    "paramName" : "EntityGroup",
                                    "paramValue" : "EntityGroup_0"
                                }
                            ],
                            "children" : [{
                                    "getData" : {
                                        "source" : "DsRestAPI_Test_DataSource",
                                        "element" : "TrafficCases",
                                        "params" : [{
                                                "paramName" : "EntityGroup",
                                                "paramValue" : "EntityGroup_0"
                                            }, {
                                                "paramName" : "Scenario",
                                                "paramValue" : "Scenario_0"
                                            }
                                        ],
                                        "children" : []
                                    }
                                }
                            ]
                        }
                    }
                ]
            }
        }
    ]
}

descriptions.test5 = "Valid getData with children in a depth of 3."
