String (@NotNull String prefix, @NotNull String suffix, boolean qualified, boolean annotated) { int dimensions = getArrayDimensions(); StringBuilder sb = new StringBuilder(prefix.length() + (dimensions - 1) * 2 + suffix.length()); sb.append(prefix); PsiType current = this; for (int i = 0; i < dimensions; i++) { if (annotated) { PsiAnnotation[] annotations = current.getAnnotations(); if (annotations.length != 0) { sb.append(' '); PsiNameHelper.appendAnnotations(sb, annotations, qualified); } } if (i == dimensions - 1) { sb.append(suffix); } else { sb.append("[]"); current = ((PsiArrayType)current).getComponentType(); } } return sb.toString(); }