<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def get_filtered_vts_list(self, vts, vt_filter):
 """ Gets a collection of vulnerability test from the vts dictionary, which match the filter. Arguments: vt_filter (string):
 Filter to apply to the vts collection. vts (dictionary):
 The complete vts collection. Returns: Dictionary with filtered vulnerability tests. """

        if not vt_filter:
            raise RequiredArgument('vt_filter: A valid filter is required.')

        filters = self.parse_filters(vt_filter)
        if not filters:
            return None

        _vts_aux = vts.copy()
        for _element, _oper, _filter_val in filters:
            for vt_id in _vts_aux.copy():
                if not _vts_aux[vt_id].get(_element):
                    _vts_aux.pop(vt_id)
                    continue
                _elem_val = _vts_aux[vt_id].get(_element)
                _val = self.format_filter_value(_element, _elem_val)
                if self.filter_operator[_oper](_val, _filter_val):
                    continue
                else:
                    _vts_aux.pop(vt_id)

        return _vts_aux