class GreekWordTokenizer extends WordTokenizer {

  private final GreekWordTokenizerImpl tokenizer = new GreekWordTokenizerImpl(new StringReader(""));

  @Override
  public List<String> tokenize(String text) {<FILL_FUNCTION_BODY>}
}

    List<String> tokens = new ArrayList<>();
    synchronized (tokenizer) {
      tokenizer.yyreset(new StringReader(text));
      try {
        while (tokenizer.getNextToken() != GreekWordTokenizerImpl.YYEOF) {
          tokens.add(tokenizer.getText());
        }
      } catch (IOException ex) {
        throw new RuntimeException(ex);
      }
    }
    return joinEMailsAndUrls(tokens);
  
<methods>public non-sealed void <init>() ,public static List<java.lang.String> getProtocols() ,public java.lang.String getTokenizingCharacters() ,public boolean isCurrencyExpression(java.lang.String) ,public static boolean isEMail(java.lang.String) ,public static boolean isUrl(java.lang.String) ,public List<java.lang.String> replaceEmojis(java.lang.String) ,public List<java.lang.String> restoreEmojis(List<java.lang.String>, List<java.lang.String>) ,public List<java.lang.String> splitCurrencyExpression(java.lang.String) ,public List<java.lang.String> tokenize(java.lang.String) <variables>private static final java.util.regex.Pattern CURRENCY_EXPRESSION,private static final java.util.regex.Pattern CURRENCY_SYMBOLS,private static final java.util.regex.Pattern CURRENCY_VALUE,private static final java.util.regex.Pattern DOMAIN_CHARS,private static final java.util.regex.Pattern E_MAIL,private static final java.util.regex.Pattern NO_PROTOCOL_URL,private static final List<java.lang.String> PROTOCOLS,protected final java.lang.String REMOVED_EMOJI,private static final java.lang.String TOKENIZING_CHARACTERS,private static final java.util.regex.Pattern URL_CHARS