void (@NotNull StringBuilder sb, PsiType @NotNull [] types, boolean canonical, boolean annotated) { if (types.length == 0) return; sb.append('<'); for (int i = 0; i < types.length; i++) { if (i > 0) { sb.append(canonical ? "," : ", "); } PsiType type = types[i]; if (canonical) { sb.append(type.getCanonicalText(annotated)); } else { sb.append(type.getPresentableText(annotated)); } } sb.append('>'); }