def add_results(self, *rvs, **kwargs):
        """
        Changes the state to reflect the mutation which yielded the given
        result.

        In order to use the result, the `fetch_mutation_tokens` option must
        have been specified in the connection string, _and_ the result
        must have been successful.

        :param rvs: One or more :class:`~.OperationResult` which have been
            returned from mutations
        :param quiet: Suppress errors if one of the results does not
            contain a convertible state.
        :return: `True` if the result was valid and added, `False` if not
            added (and `quiet` was specified
        :raise: :exc:`~.MissingTokenError` if `result` does not contain
            a valid token
        """
        if not rvs:
            raise MissingTokenError.pyexc(message='No results passed')
        for rv in rvs:
            mi = rv._mutinfo
            if not mi:
                if kwargs.get('quiet'):
                    return False
                raise MissingTokenError.pyexc(
                    message='Result does not contain token')
            self._add_scanvec(mi)
        return True
Changes the state to reflect the mutation which yielded the given
        result.

        In order to use the result, the `fetch_mutation_tokens` option must
        have been specified in the connection string, _and_ the result
        must have been successful.

        :param rvs: One or more :class:`~.OperationResult` which have been
            returned from mutations
        :param quiet: Suppress errors if one of the results does not
            contain a convertible state.
        :return: `True` if the result was valid and added, `False` if not
            added (and `quiet` was specified
        :raise: :exc:`~.MissingTokenError` if `result` does not contain
            a valid token