docs: def requestField(self, field_name, required=False, strict=False):
          """Request the specified field from the OpenID user
  
          @param field_name: the unqualified simple registration field name
          @type field_name: str
  
          @param required: whether the given field should be presented
              to the user as being a required to successfully complete
              the request
  
          @param strict: whether to raise an exception when a field is
              added to a request more than once
  
          @raise ValueError: when the field requested is not a simple
              registration field or strict is set and the field was
              requested more than once
          """
          checkFieldName(field_name)
  
          if strict:
              if field_name in self.required or field_name in self.optional:
                  raise ValueError('That field has already been requested')
          else:
              if field_name in self.required:
                  return
  
              if field_name in self.optional:
                  if required:
                      self.optional.remove(field_name)
                  else:
                      return
  
          if required:
              self.required.append(field_name)
          else:
              self.optional.append(field_name)