PsiType (@NotNull PsiMethod method, @Nullable PsiType type) { if (PsiTypesUtil.isGetClass(method) && type instanceof PsiClassType) { PsiType arg = ContainerUtil.getFirstItem(Arrays.asList(((PsiClassType)type).getParameters())); PsiType bound = arg instanceof PsiWildcardType ? TypeConversionUtil.erasure(((PsiWildcardType)arg).getExtendsBound()) : null; if (bound != null) { return PsiTypesUtil.createJavaLangClassType(method, bound, false); } } return type; }