def visitInlineShapeAnd(self, ctx: ShExDocParser.InlineShapeAndContext):
        """ inlineShapeAnd: inlineShapeNot (KW_AND inlineShapeNot)* """
        if len(ctx.inlineShapeNot()) > 1:
            self.expr = ShapeAnd(id=self.label, shapeExprs=[])
            for sa in ctx.inlineShapeNot():
                sep = ShexShapeExpressionParser(self.context)
                sep.visit(sa)
                self._and_collapser(self.expr, sep.expr)
        else:
            self.visit(ctx.inlineShapeNot(0))