<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def update_todo_list(self, list_id, name, description, milestone_id=None, private=None, tracked=None):
 """ With this call you can alter the metadata for a list. """

        path = '/todos/update_list/%u' % list_id
        req = ET.Element('request')
        list_ = ET.SubElement('list')
        ET.SubElement(list_, 'name').text = str(name)
        ET.SubElement(list_, 'description').text = str(description)
        if milestone_id is not None:
            ET.SubElement(list_, 'milestone_id').text = str(int(milestone_id))
        if private is not None:
            ET.SubElement(list_, 'private').text = str(bool(private)).lower()
        if tracked is not None:
            ET.SubElement(list_, 'tracked').text = str(bool(tracked)).lower()
        return self._request(path, req)