<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def parse_torrent_properties(table_datas):
 """ Static method that parses a given list of table data elements and using helper methods `Parser.is_subcategory`, `Parser.is_quality`, `Parser.is_language`, collects torrent properties. :param list lxml.HtmlElement table_datas: table_datas to parse :return: identified category, subcategory, quality and languages. :rtype: dict """

        output = {'category': table_datas[0].text, 'subcategory': None, 'quality': None, 'language': None}
        for i in range(1, len(table_datas)):
            td = table_datas[i]
            url = td.get('href')
            params = Parser.get_params(url)
            if Parser.is_subcategory(params) and not output['subcategory']:
                output['subcategory'] = td.text
            elif Parser.is_quality(params) and not output['quality']:
                output['quality'] = td.text
            elif Parser.is_language(params) and not output['language']:
                output['language'] = td.text
        return output