docs: def _getCaseAgreement(self, token1, token2):
          '''  Detects whether there is a morphological case agreement 
              between two consecutive nominals (token1 and token2), and 
              returns the common case, or None if no agreement exists;
               Applies a special set of rules for detecting agreement on
              the word in genitive followed by the word in ter, es, ab or
              kom.
          '''
          forms1 = set( [a[FORM] for a in token1[ANALYSIS]] )
          forms2 = set( [a[FORM] for a in token2[ANALYSIS]] )
          if len(forms1.intersection(forms2))==0:
              # Kontrollime ka ni-na-ta-ga k22ndeid:
              if 'sg g' in forms1:
                  if 'sg ter' in forms2:
                      return 'sg ter'
                  elif 'sg es' in forms2:
                      return 'sg es'
                  elif 'sg ab' in forms2:
                      return 'sg ab'
                  elif 'sg kom' in forms2:
                      return 'sg kom'
              elif 'pl g' in forms1:
                  if 'pl ter' in forms2:
                      return 'pl ter'
                  elif 'pl es' in forms2:
                      return 'pl es'
                  elif 'pl ab' in forms2:
                      return 'pl ab'
                  elif 'pl kom' in forms2:
                      return 'pl kom'
              return None
          else:
              return list(forms1.intersection(forms2))[0]