code: def get_default(self, *args, **kwargs):
          
          def retrieve_param(i):
              try:
                  return self.__getattribute__(i)
              except AttributeError:
                  if i == "device":
                      return self.default_device
                  else:
                      return self.__getattribute__(i.upper())
          if len(args) == 0:
              if len(kwargs) == 1 and kwargs[list(kwargs.keys())[0]] is not None:
                  return kwargs[list(kwargs.keys())[0]]
              elif len(kwargs) == 1:
                  return retrieve_param(list(kwargs.keys())[0])
              else:
                  raise TypeError("As dict is unordered, it is impossible to give"
                                  "the parameters in the correct order.")
          else:
              out = []
              for i in args:
                  if i[1] is None:
                      out.append(retrieve_param(i[0]))
                  else:
                      out.append(i[1])
              return out
docs: Get the default parameters as defined in the Settings instance.
  
          This function proceeds to seamlessly retrieve the argument to pass
          through, depending on either it was overidden or not: If no argument
          was overridden in a function of the toolbox, the default argument will
          be set to ``None``, and this function will retrieve the default
          parameters as defined by the ``cdt.SETTINGS`` 's attributes.
  
          It has two modes of processing:
  
          1. **kwargs for retrieving a single argument: ``get_default(argument_name=value)``.
          2. *args through a list of tuples of the shape ``('argument_name', value)`` to retrieve multiple values at once.