code: def get(self, key, default=NoDefault):
          
          key = normalize_key(key)
          if default is NoDefault:
              defaults = []
          else:
              defaults = [default]
  
          for options in self.options:
              try:
                  value = options[key]
              except KeyError:
                  continue
  
              if isinstance(value, Default):
                  defaults.append(value.value)
                  continue
              else:
                  return value
  
          if defaults:
              return defaults[0]
  
          return NoDefault
docs: Retrieve a value from its key.
  
          Retrieval steps are:
          1) Normalize the key
          2) For each option group:
             a) Retrieve the value at that key
             b) If no value exists, continue
             c) If the value is an instance of 'Default', continue
             d) Otherwise, return the value
          3) If no option had a non-default value for the key, return the
              first Default() option for the key (or :arg:`default`).