code: private String treatContractions(String line) {
  
      line = noAlphaAposNoAlpha.matcher(line).replaceAll("$1 $2 $3");
      line = noAlphaDigitAposAlpha.matcher(line).replaceAll("$1 $2 $3");
      line = alphaAposNonAlpha.matcher(line).replaceAll("$1 $2 $3");
      if (this.lang.equalsIgnoreCase("en")) {
        line = englishNegations.matcher(line).replaceAll("$1 $2$3");
      }
      line = englishApos.matcher(line).replaceAll("$1 $2$3");
      line = yearApos.matcher(line).replaceAll("$1 $2$3");
      // romance tokenization of apostrophes c' l'
      line = AlphaAposAlpha.matcher(line).replaceAll("$1$2 $3");
      line = endOfSentenceApos.matcher(line).replaceAll("$1 $2");
      line = deTokenEnglishNegation.matcher(line).replaceAll("$1$2$3");
      return line;
    }
docs: TODO apostrophe treatment needs to be language dependent