code: static List<String> filter(List<String> tokens) {
          List<String> result = new ArrayList<>();
          Set<String> noise = noiseWords();
          for (String token : tokens) {
              if (S.blank(token)) {
                  continue;
              }
              token = token.trim().toLowerCase();
              if (!noise.contains(token)) {
                  result.add(token);
              }
          }
          return result;
      }
docs: Filter a list of string tokens and get rid of tokens that are
  {@link #noiseWords() noise}
  
  The tokens in the return list is in lower case
  
  @param tokens
  the list of string token
  @return
  filtered list of lowercase string tokens