docs: def sample(self, n_to_sample, **kwargs):
          """Sample a sequence of items from the pool
  
          Parameters
          ----------
          n_to_sample : int
              number of items to sample
          """
          n_to_sample = verify_positive(int(n_to_sample))
  
          n_remaining = self._max_iter - self.t_
  
          if n_remaining == 0:
              if (not self.replace) and (self._n_items == self._max_iter):
                  raise Exception("All items have already been sampled")
              else:
                  raise Exception("No more space available to continue sampling. "
                                  "Consider re-initialising with a larger value "
                                  "of max_iter.")
  
          if n_to_sample > n_remaining:
              warnings.warn("Space only remains for {} more iteration(s). "
                            "Setting n_to_sample = {}.".format(n_remaining, \
                            n_remaining))
              n_to_sample = n_remaining
  
          for _ in range(n_to_sample):
              self._iterate(**kwargs)