code: def multiple_extend_request_args(self, args, key, parameters, item_types,
                                       orig=False):
          
          _state = self.get_state(key)
  
          for typ in item_types:
              try:
                  _item = Message(**_state[typ])
              except KeyError:
                  continue
  
              for parameter in parameters:
                  if orig:
                      try:
                          args[parameter] = _item[parameter]
                      except KeyError:
                          pass
                  else:
                      try:
                          args[parameter] = _item[verified_claim_name(parameter)]
                      except KeyError:
                          try:
                              args[parameter] = _item[parameter]
                          except KeyError:
                              pass
  
          return args
docs: Go through a set of items (by their type) and add the attribute-value
          that match the list of parameters to the arguments
          If the same parameter occurs in 2 different items then the value in
          the later one will be the one used.
  
          :param args: Initial set of arguments
          :param key: Key to the State information in the state database
          :param parameters: A list of parameters that we're looking for
          :param item_types: A list of item_type specifying which items we
              are interested in.
          :param orig: Where the value of a claim is a signed JWT return
              that.
          :return: A possibly augmented set of arguments.