class ChineseTagger implements Tagger {

  @Override
  public List<AnalyzedTokenReadings> tag(List<String> sentenceTokens) throws IOException {
    List<AnalyzedTokenReadings> tokenReadings = new ArrayList<>();
    int pos = 0;
    for (String word : sentenceTokens) {
      List<AnalyzedToken> l = new ArrayList<>();
      AnalyzedToken at = asAnalyzedToken(word);
      l.add(at);
      tokenReadings.add(new AnalyzedTokenReadings(l, pos));
      pos += at.getToken().length();
    }
    return tokenReadings;
  }

  @Override
  public final AnalyzedTokenReadings createNullToken(String token, int startPos) {
    return new AnalyzedTokenReadings(new AnalyzedToken(token, null, null), startPos);
  }

  @Override
  public AnalyzedToken createToken(String token, String posTag) {
    return new AnalyzedToken(token, posTag, null);
  }

  private AnalyzedToken asAnalyzedToken(String word) {<FILL_FUNCTION_BODY>}

}

    if (!word.contains("/")) {
      return new AnalyzedToken(" ", null, null);
    }
    String[] parts = word.split("/");
    if(parts[0].equals("") && parts[parts.length - 1].equals("w")){
        return new AnalyzedToken(word.substring(0, word.length() - 2), word.substring(word.length() - 1, word.length()), null);
    }else{
        return new AnalyzedToken(parts[0], parts[1], null);
    }
  
<no_super_class>