@Override
  public @NotNull String getCanonicalText() {
    String name = getQualifiedName();
    if (name == null) return "";
    PsiType[] types = getTypeParameters();
    if (types.length == 0) return name;

    StringBuilder buf = new StringBuilder();
    buf.append(name);
    buf.append('<');
    for (int i = 0; i < types.length; i++) {
      if (i > 0) buf.append(',');
      buf.append(types[i].getCanonicalText());
    }
    buf.append('>');

    return buf.toString();
  }
@Override
  public @NotNull String getCanonicalText()