def _save_parameters(self, other):
        # we check for None later to see if
        # we actually have parameters to inject,
        # so encapsulate if our parameter is actually None
        if other is None:
            self.params = (other, )
        elif isinstance(other, dict):
            self.params = self._save_dictionary_parameter(other)
        else:
            # fallback to casting to unicode,
            # this will handle the problematic python code-like
            # objects that cannot be deep-copied
            try:
                self.params = copy.deepcopy(other)
            except __HOLE__:
                self.params = unicode(other)

        return self

    # overrides to be more string-like
dataset/ETHPy150Open openstack-dev/heat-cfnclient/heat_cfnclient/openstack/common/gettextutils.py/Message._save_parameters