def create_todo_list(self, project_id, milestone_id=None, private=None,
        tracked=False, name=None, description=None, template_id=None):
        """
        This will create a new, empty list. You can create the list
        explicitly, or by giving it a list template id to base the new list
        off of.
        """
        path = '/projects/%u/todos/create_list' % project_id
        req = ET.Element('request')
        if milestone_id is not None:
            ET.SubElement('milestone-id').text = str(milestone_id)
        if private is not None:
            ET.SubElement('private').text = str(bool(private)).lower()
        ET.SubElement('tracked').text = str(bool(tracked)).lower()
        if name is not None:
            ET.SubElement('name').text = str(name)
            ET.SubElement('description').text = str(description)
        if template_id is not None:
            ET.SubElement('use-template').text = 'true'
            ET.SubElement('template-id').text = str(int(template_id))
        return self._request(path, req)
This will create a new, empty list. You can create the list
        explicitly, or by giving it a list template id to base the new list
        off of.