Implementation of mandatory interface for traversing the whole rule tree.
        This method will call the implementation of :py:func:`pynspect.rules.RuleTreeTraverser.binary_operation_logical`
        method with reference to ``self`` instance as first argument and with the
        result of traversing left subtree as second argument. The optional ``kwargs``
        are passed down to traverser callback as additional arguments and can be
        used to provide additional data or context.

        :param pynspect.rules.RuleTreeTraverser traverser: Traverser object providing appropriate interface.
        :param dict kwargs: Additional optional keyword arguments to be passed down to traverser callback.

def traverse(self, traverser, **kwargs):
        """
        Implementation of mandatory interface for traversing the whole rule tree.
        This method will call the implementation of :py:func:`pynspect.rules.RuleTreeTraverser.binary_operation_logical`
        method with reference to ``self`` instance as first argument and with the
        result of traversing left subtree as second argument. The optional ``kwargs``
        are passed down to traverser callback as additional arguments and can be
        used to provide additional data or context.

        :param pynspect.rules.RuleTreeTraverser traverser: Traverser object providing appropriate interface.
        :param dict kwargs: Additional optional keyword arguments to be passed down to traverser callback.
        """
        rrt = self.right.traverse(traverser, **kwargs)
        return traverser.unary_operation(self, rrt, **kwargs)