code: def filter(self, **kwargs):
          
          context = str(self.context)
          request_url = build_url_endpoint(self.ENDPOINT, context)
          request_params = dict(self.request_params)
  
          for fltr, value in kwargs.items():
              decoded_fltr = fltr.replace('__', '.').replace('_', '-')
              if decoded_fltr not in self.FILTER_VALIDATOR.keys():
                  raise UrlSyntaxError(
                      'Filter %s specified but there is no such filter for this route. Valid filters for this route are: %s' % (
                          str(decoded_fltr),
                          ', '.join(self.FILTER_VALIDATOR.keys())
                      )
                  )
  
              if self.FILTER_VALIDATOR[decoded_fltr] is not None:
                  self.FILTER_VALIDATOR[decoded_fltr](str(value))
  
              if 'filter' not in request_params:
                  request_params['filter'] = decoded_fltr + ':' + str(value)
              else:
                  request_params['filter'] += ',' + decoded_fltr + ':' + str(value)
  
          return self.__class__(request_url, request_params, context, self.etiquette)
docs: This method retrieve an iterable object that implements the method
          __iter__. The arguments given will compose the parameters in the
          request url.
  
          This method can be used compounded and recursively with query, filter,
          order, sort and facet methods.
  
          kwargs: valid FILTER_VALIDATOR arguments.
  
          return: iterable object of Works metadata
  
          Example:
              >>> from crossref.restful import Works
              >>> works = Works()
              >>> query = works.filter(has_funder='true', has_license='true')
              >>> for item in query:
              ...     print(item['title'])
              ...
              ['Design of smiling-face-shaped band-notched UWB antenna']
              ['Phase I clinical and pharmacokinetic study of PM01183 (a tetrahydroisoquinoline, Lurbinectedin) in combination with gemcitabine in patients with advanced solid tumors']
              ...