def _get_params(mcs, bases, namespace):
        """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

        """
        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)
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