code: def gather_request_args(self, **kwargs):
          
          ar_args = kwargs.copy()
  
          # Go through the list of claims defined for the message class
          # there are a couple of places where informtation can be found
          # access them in the order of priority
          # 1. A keyword argument
          # 2. configured set of default attribute values
          # 3. default attribute values defined in the OIDC standard document
          for prop in self.msg_type.c_param.keys():
              if prop in ar_args:
                  continue
              else:
                  try:
                      ar_args[prop] = getattr(self.service_context, prop)
                  except AttributeError:
                      try:
                          ar_args[prop] = self.conf['request_args'][prop]
                      except KeyError:
                          try:
                              ar_args[prop] = self.service_context.register_args[
                                  prop]
                          except KeyError:
                              try:
                                  ar_args[prop] = self.default_request_args[prop]
                              except KeyError:
                                  pass
  
          return ar_args
docs: Go through the attributes that the message class can contain and
          add values if they are missing but exists in the client info or
          when there are default values.
  
          :param kwargs: Initial set of attributes.
          :return: Possibly augmented set of attributes