docs: def _getMatchingAnalysisIDs( tokenJson, requiredWordTemplate, discardAnalyses = None ):
      '''   Tagastab listi tokenJson'i analyysidest, mis sobivad etteantud yksiku 
           sõnamalli või sõnamallide listi mõne elemendiga (requiredWordTemplate võib 
           olla üks WordTemplate või list WordTemplate elementidega);
           
            Kui discardAnalyses on defineeritud (ning on WordTemplate), visatakse minema
           analyysid, mis vastavad sellele s6namallile;
      '''
      final_ids = set()
      if isinstance(requiredWordTemplate, list):
          for wt in requiredWordTemplate:
              ids = wt.matchingAnalyseIndexes(tokenJson)
              if ids:
                  final_ids.update(ids)
      elif isinstance(requiredWordTemplate, WordTemplate):
          ids = requiredWordTemplate.matchingAnalyseIndexes(tokenJson)
          final_ids = set(ids)
      if discardAnalyses:
          if isinstance(discardAnalyses, WordTemplate):
              ids2 = discardAnalyses.matchingAnalyseIndexes(tokenJson)
              if ids2:
                  final_ids = final_ids.difference(set(ids2))
          else:
              raise Exception(' The parameter discardAnalyses should be WordTemplate.')
      if len(final_ids) == 0:
          raise Exception(' Unable to find matching analyse IDs for: '+str(tokenJson))
      return list(final_ids)