def visitShapeOr(self, ctx: ShExDocParser.ShapeOrContext):
        """ shapeOr: shapeAnd (KW_OR shapeAnd)* """
        if len(ctx.shapeAnd()) > 1:
            self.expr = ShapeOr(id=self.label, shapeExprs=[])
            for sa in ctx.shapeAnd():
                sep = ShexShapeExpressionParser(self.context)
                sep.visit(sa)
                self.expr.shapeExprs.append(sep.expr)
        else:
            self.visit(ctx.shapeAnd(0))