code: def objects(self_, instance=True):
          
          cls = self_.cls
          # CB: we cache the parameters because this method is called often,
          # and parameters are rarely added (and cannot be deleted)
          try:
              pdict = getattr(cls, '_%s__params' % cls.__name__)
          except AttributeError:
              paramdict = {}
              for class_ in classlist(cls):
                  for name, val in class_.__dict__.items():
                      if isinstance(val, Parameter):
                          paramdict[name] = val
  
              # We only want the cache to be visible to the cls on which
              # params() is called, so we mangle the name ourselves at
              # runtime (if we were to mangle it now, it would be
              # _Parameterized.__params for all classes).
              setattr(cls, '_%s__params' % cls.__name__, paramdict)
              pdict = paramdict
  
          if instance and self_.self is not None:
              if instance == 'existing':
                  if self_.self._instance__params:
                      return dict(pdict, **self_.self._instance__params)
                  return pdict
              else:
                  return {k: self_.self.param[k] for k in pdict}
          return pdict
docs: Returns the Parameters of this instance or class
  
          If instance=True and called on a Parameterized instance it
          will create instance parameters for all Parameters defined on
          the class. To force class parameters to be returned use
          instance=False. Since classes avoid creating instance
          parameters unless necessary you may also request only existing
          instance parameters to be returned by setting
          instance='existing'.