@abc.abstractmethod<EOL><INDENT>def one_step(self, current_state, previous_kernel_results):<DEDENT>
raise NotImplementedError()<EOL>
Takes one step of the TransitionKernel.

        Must be overridden by subclasses.

        Args:
          current_state: `Tensor` or Python `list` of `Tensor`s representing the
            current state(s) of the Markov chain(s).
          previous_kernel_results: A (possibly nested) `tuple`, `namedtuple` or
            `list` of `Tensor`s representing internal calculations made within the
            previous call to this function (or as returned by `bootstrap_results`).

        Returns:
          next_state: `Tensor` or Python `list` of `Tensor`s representing the
            next state(s) of the Markov chain(s).
          kernel_results: A (possibly nested) `tuple`, `namedtuple` or `list` of
            `Tensor`s representing internal calculations made within this function.