docs: def findcorrectionhandling(self, cls):
          """Find the proper correctionhandling given a textclass by looking in the underlying corrections where it is reused"""
          if cls == "current":
              return CorrectionHandling.CURRENT
          elif cls == "original":
              return CorrectionHandling.ORIGINAL #backward compatibility
          else:
              correctionhandling = None
              #but any other class may be anything
              #Do we have corrections at all? otherwise no need to bother
              for correction in self.select(Correction):
                  #yes, in which branch is the text class found?
                  found = False
                  hastext = False
                  if correction.hasnew():
                      found = True
                      doublecorrection = correction.new().count(Correction) > 0
                      if doublecorrection: return None #skipping text validation, correction is too complex (nested) to handle for now
                      for t in  correction.new().select(TextContent):
                          hastext = True
                          if t.cls == cls:
                              if correctionhandling is not None and correctionhandling != CorrectionHandling.CURRENT:
                                  return None #inconsistent
                              else:
                                  correctionhandling = CorrectionHandling.CURRENT
                              break
                  elif correction.hascurrent():
                      found = True
                      doublecorrection = correction.current().count(Correction) > 0
                      if doublecorrection: return None #skipping text validation, correction is too complex (nested) to handle for now
                      for t in  correction.current().select(TextContent):
                          hastext = True
                          if t.cls == cls:
                              if correctionhandling is not None and correctionhandling != CorrectionHandling.CURRENT:
                                  return None #inconsistent
                              else:
                                  correctionhandling = CorrectionHandling.CURRENT
                              break
                  if correction.hasoriginal():
                      found = True
                      doublecorrection = correction.original().count(Correction) > 0
                      if doublecorrection: return None #skipping text validation, correction is too complex (nested) to handle for now
                      for t in  correction.original().select(TextContent):
                          hastext = True
                          if t.cls == cls:
                              if correctionhandling is not None and correctionhandling != CorrectionHandling.ORIGINAL:
                                  return None #inconsistent
                              else:
                                  correctionhandling = CorrectionHandling.ORIGINAL
                              break
              if correctionhandling is None:
                  #well, we couldn't find our textclass in any correction, just fall back to current and let text validation fail if needed
                  return CorrectionHandling.CURRENT