PsiType (@NotNull PsiArrayType arrayType) { PsiType componentType = arrayType.getComponentType(); PsiType type = componentType.accept(this); if (type == componentType) return arrayType; if (type instanceof PsiWildcardType) { type = ((PsiWildcardType)type).getBound(); } return type != null ? type.createArrayType().annotate(arrayType.getAnnotationProvider()) : arrayType; }