code: def _get_params(mcs, bases, namespace):
          
          params = [
              (name, namespace.pop(name))
              for name, attribute
              in list(namespace.items())
              if isinstance(attribute, BaseParam)
          ]
  
          for base in reversed(bases):
              if hasattr(base, mcs._params_storage_key):
                  params = list(
                      getattr(base, mcs._params_storage_key).items()
                  ) + params
  
          return OrderedDict(params)
docs: Create params dictionary to be used in resource class namespace.
  
          Pop all parameter objects from attributes dict (namespace)
          and store them under _params_storage_key atrribute.
          Also collect all params from base classes in order that ensures
          params can be overriden.
  
          Args:
              bases: all base classes of created resource class
              namespace (dict): namespace as dictionary of attributes