def METHOD_NAME():
    definition = UM.Settings.SettingDefinition.SettingDefinition("test", None)
    definition.deserialize({
        "label": "Test",
        "type": "int",
        "default_value": 10,
        "description": "Test Setting",
        "children": {
            "test_child_1": {
                "label": "Test Child 1",
                "type": "int",
                "default_value": 20,
                "description": "Test Child Setting 1"
            },
            "test_child_2": {
                "label": "Test Child 2",
                "type": "int",
                "default_value": 20,
                "description": "Test Child Setting 2"
            }
        }
    })
    assert len(definition.children) == 2
    assert definition.isDescendant("test_child_1")
    child_1 = definition.getChild("test_child_1")
    assert child_1 is not None
    assert child_1.isAncestor("test")
    assert child_1.key == "test_child_1"
    assert child_1.label == "Test Child 1"
    assert child_1.default_value == 20
    assert child_1.description == "Test Child Setting 1"
    definitions = definition.findDefinitions(default_value = 20)
    assert len(definitions) == 2
    has_child_1 = False
    has_child_2 = False
    for definition in definitions:
        if definition.key == "test_child_1":
            has_child_1 = True
        elif definition.key == "test_child_2":
            has_child_2 = True
    assert has_child_1
    assert has_child_2