code: protected boolean isTokenPair(AnalyzedTokenReadings[] tokens, int n, boolean before) {
      if (before) {
        if ((tokens[n-2].hasPosTagStartingWith("SUB") && tokens[n-1].hasPosTagStartingWith("PRP")
                && tokens[n].hasPosTagStartingWith("SUB"))
            || (!tokens[n-2].getToken().equals("hart") && !tokens[n-1].getToken().equals("auf") && !tokens[n].getToken().equals("hart"))
           ) {
          return true;
        }
      } else {
        if ((tokens[n].hasPosTagStartingWith("SUB") && tokens[n+1].hasPosTagStartingWith("PRP")
                && tokens[n+2].hasPosTagStartingWith("SUB"))
            || (!tokens[n].getToken().equals("hart") && !tokens[n-1].getToken().equals("auf") && !tokens[n + 2].getToken().equals("hart"))
           ) {
          return true;
        }
      }
      return false;
    }
docs: /*
  Pairs of substantive are excluded like "Arm in Arm", "Seite an Seite", etc.