code: def move(self, from_stash, to_stash, filter_func=None):
          
          filter_func = filter_func or (lambda s: True)
          stash_splitter = lambda states: reversed(self._filter_states(filter_func, states))
          return self.split(stash_splitter, from_stash=from_stash, to_stash=to_stash)
docs: Move states from one stash to another.
  
          :param from_stash:  Take matching states from this stash.
          :param to_stash:    Put matching states into this stash.
          :param filter_func: Stash states that match this filter. Should be a function that takes
                              a state and returns True or False. (default: stash all states)
  
          :returns:           The simulation manager, for chaining.
          :rtype:             SimulationManager