def METHOD_NAME(data):
    newdata = []
    newstring = ""
    record = True
    paranCnt = 0
    for char in data:
        if char == "(":
            paranCnt += 1
            if not record:
                record = True 
        if record:
            newstring += char
        if paranCnt == 0 and char == " ":
            newdata.append(newstring)
            newstring = ""
            record = True
        if char == ")":
            paranCnt -= 1
            if paranCnt == 0:
                record = False
    if len(newstring) > 0:
        newdata.append(newstring)
    parsedlist = []
    non_string = False
    for item in newdata:
        ret = parse_wrapper(item)
        if not isinstance(ret, str):
            non_string = True
        parsedlist.append(ret)
    if len(parsedlist) > 0 and not non_string:
        return " ".join(parsedlist)
    elif len(parsedlist) == 1 and non_string:
        return parsedlist[0]
    else:
        print("Casting back to string because multi: ", parsedlist)
        newlist = []
        for item in parsedlist:
            try:
                newlist.append(str(item))
            except ValueError:
                newlist.append("parsing_error")
        return " ".join(newlist)