def with_wrapper(self, wrapper=None, name=None):
        """ Copy this BarSet, and return a new BarSet with the specified
            name and wrapper.
            If no name is given, `{self.name}_custom_wrapper` is used.
            If no wrapper is given, the new BarSet will have no wrapper.
        """
        name = name or '{}_custom_wrapper'.format(self.name)
        return self.__class__(self.data, name=name, wrapper=wrapper)