private static @Nullable String getExceptionAbbreviation(String line) {
    line = StringUtil.trimStart(line.trim(), "Caused by: ");
    int classNameStart = 0;
    int classNameEnd = line.length();
    for (int j = 0; j < line.length(); j++) {
      char c = line.charAt(j);
      if (c == '.' || c == '$') {
        classNameStart = j + 1;
        continue;
      }
      if (c == ':') {
        classNameEnd = j;
        break;
      }
      if (!StringUtil.isJavaIdentifierPart(c)) {
        return null;
      }
    }
    if (classNameStart >= classNameEnd) return null;
    String clazz = line.substring(classNameStart, classNameEnd);
    String abbreviate = abbreviate(clazz);
    return abbreviate.length() > 1 ? abbreviate : clazz;
  }
private static @Nullable String getExceptionAbbreviation(String line)