PsiType (@NotNull PsiMethod method) { return CachedValuesManager.getCachedValue(method, () -> { final PsiType returnType = eraseFreeTypeParameters(method.getReturnType(), method); return CachedValueProvider.Result.create(returnType, PsiModificationTracker.MODIFICATION_COUNT); }); }