def merge(self, x=None, y=None, ildj=None, kwargs=None, mapping=None):
if mapping is None:<EOL><INDENT>mapping = _Mapping(x=x, y=y, ildj=ildj, kwargs=kwargs)<EOL><DEDENT>elif any(arg is not None for arg in [x, y, ildj, kwargs]):<EOL><INDENT>raise ValueError("<STR_LIT>"<EOL>"<STR_LIT>")<EOL><DEDENT>return _Mapping(<EOL>x=self._merge(self.x, mapping.x),<EOL>y=self._merge(self.y, mapping.y),<EOL>ildj=self._merge(self.ildj, mapping.ildj),<EOL>kwargs=self._merge(self.kwargs, mapping.kwargs, use_equals=True))<EOL>
Returns new _Mapping with args merged with self.

        Args:
          x: `Tensor` or None. Input to forward; output of inverse.
          y: `Tensor` or None. Input to inverse; output of forward.
          ildj: `Tensor`. This is the (un-reduce_sum'ed) inverse log det jacobian.
          kwargs: Python dictionary. Extra args supplied to forward/inverse/etc
            functions.
          mapping: Instance of _Mapping to merge. Can only be specified if no other
            arg is specified.

        Returns:
          mapping: New instance of `_Mapping` which has inputs merged with self.

        Raises:
          ValueError: if mapping and any other arg is not `None`.