docs: def visitLanguageRange(self, ctx: ShExDocParser.LanguageRangeContext):
          """ ShExC: languageRange : LANGTAG (STEM_MARK languagExclusion*)? 
              ShExJ: valueSetValue = objectValue | LanguageStem | LanguageStemRange """
          baselang = ctx.LANGTAG().getText()
          if not ctx.STEM_MARK():                 # valueSetValue = objectValue / objectValue = ObjectLiteral
              vsvalue = Language()
              vsvalue.languageTag = baselang[1:]
          else:
              if ctx.languageExclusion():
                  vsvalue = LanguageStemRange(LANGTAG(baselang[1:]), exclusions=[])
                  self._language_exclusions(vsvalue, ctx.languageExclusion())
              else:
                  vsvalue = LanguageStem(LANGTAG(baselang[1:]))
          self.nodeconstraint.values.append(vsvalue)