code: def rename(self, **mapping):
          
          params = {k: v for k, v in self.get_param_values() if k != 'name'}
          return self.__class__(rename=mapping,
                                source=(self._source() if self._source else None),
                                linked=self.linked, **params)
docs: The rename method allows stream parameters to be allocated to
          new names to avoid clashes with other stream parameters of the
          same name. Returns a new clone of the stream instance with the
          specified name mapping.