class SwissGermanTagger extends GermanTagger {

  private static final Pattern SS_PATTERN = Pattern.compile("ss", Pattern.LITERAL);

  /* (non-Javadoc)
   * @see org.languagetool.tagging.de.GermanTagger#tag(java.util.List, boolean)
   */
  @Override
  public List<AnalyzedTokenReadings> tag(List<String> sentenceTokens, boolean ignoreCase) throws IOException {<FILL_FUNCTION_BODY>}
}
 
    List<AnalyzedTokenReadings> tokens = super.tag(sentenceTokens, ignoreCase);
    for (AnalyzedTokenReadings reading : tokens) {
      if (reading != null &&
        reading.getToken() != null &&
        reading.getToken().contains("ss") &&
        !reading.isTagged()) {
        AnalyzedTokenReadings replacementReading = lookup(SS_PATTERN.matcher(reading.getToken()).replaceAll("ß"));
        if (replacementReading != null) {
          for (AnalyzedToken at : replacementReading.getReadings()) {
            reading.addReading(new AnalyzedToken(reading.getToken(), at.getPOSTag(), at.getLemma()), "SwissGermanTagger");
          }
        }
      }
    }
    return tokens;
  
<methods>public void <init>() ,public org.languagetool.AnalyzedTokenReadings lookup(java.lang.String) throws java.io.IOException,public List<org.languagetool.tagging.TaggedWord> tag(java.lang.String) ,public List<org.languagetool.AnalyzedTokenReadings> tag(List<java.lang.String>) throws java.io.IOException,public List<org.languagetool.AnalyzedTokenReadings> tag(List<java.lang.String>, boolean) throws java.io.IOException<variables>private static final java.util.regex.Pattern DDD_ER_PATTERN,public static final org.languagetool.tagging.de.GermanTagger INSTANCE,private static final java.util.regex.Pattern afterAsterisk,private static final List<java.lang.String> allAdjGruTags,private static final java.util.regex.Pattern anythingDash,private static final Supplier<org.languagetool.tagging.de.GermanTagger.ExpansionInfos> expansionInfos,private static final java.util.regex.Pattern genderGapChars,private static final java.util.regex.Pattern innenPattern1,private static final java.util.regex.Pattern innenPattern2,private static final java.util.regex.Pattern mitarbeitendenPattern,private static final java.lang.String[] notAVerb,private static final List<java.lang.String> nounTagExpansionExceptions,private static final java.lang.String[] partizip2contains1PluPra,private static final java.lang.String[] partizip2contains1PluPrt,private static final java.lang.String[] postagsPartizipEndingE,private static final java.lang.String[] postagsPartizipEndingEm,private static final java.lang.String[] postagsPartizipEndingEn,private static final java.lang.String[] postagsPartizipEndingEr,private static final java.lang.String[] postagsPartizipEndingEs,private static final java.lang.String[] prefixesNonSeparableVerbs,private static final java.lang.String prefixesNonSeparableVerbsRegexp,private static final java.lang.String[] prefixesSeparableVerbs,private static final java.lang.String prefixesSeparableVerbsRegexp,private static final java.lang.String[] prefixesVerbs,private static final java.lang.String prefixesVerbsRegexp,private final non-sealed org.languagetool.tagging.ManualTagger removalTagger,private static final List<java.lang.String> tagsForWeise