code: private void addCharPreds(String key, char c, List<String> preds) {
      preds.add(key + "=" + c);
      if (Character.isLetter(c)) {
        preds.add(key + "_alpha");
        if (Character.isUpperCase(c)) {
          preds.add(key + "_caps");
        }
      } else if (Character.isDigit(c)) {
        preds.add(key + "_num");
      } else if (StringUtil.isWhitespace(c)) {
        preds.add(key + "_ws");
      } else {
        if (c == '.' || c == '?' || c == '!') {
          preds.add(key + "_eos");
        } else if (c == ',' || c == ';' || c == ':') {
          preds.add(key + "_reos");
        } else if (c == '`' || c == '"' || c == '\'') {
          preds.add(key + "_quote");
        } else if (c == '[' || c == '{' || c == '(') {
          preds.add(key + "_lp");
        } else if (c == ']' || c == '}' || c == ')') {
          preds.add(key + "_rp");
        }
      }
    }
docs: Helper function for getContext.