code: def dfilter(self, **kwds):
          
          starting_list = self[:]
          filtered_list = []
          for key, value in six.iteritems(kwds):
              for item in starting_list:
                  if self._match(item, key, value):
                      filtered_list.append(item)
              starting_list = filtered_list
              filtered_list = []
          return DictRegister(starting_list)
docs: Returns a DictRegister which contains only the
          elements that match the given specifications.