void (@NotNull PsiTypeCastExpression expression) { super.visitTypeCastExpression(expression); if (IGNORE_UNCHECKED_CAST) return; final PsiTypeElement typeElement = expression.getCastType(); if (typeElement == null) return; final PsiType castType = typeElement.getType(); final PsiExpression operand = expression.getOperand(); if (operand == null) return; final PsiType exprType = operand.getType(); if (exprType == null) return; if (!TypeConversionUtil.areTypesConvertible(exprType, castType)) return; if (JavaGenericsUtil.isUncheckedCast(castType, exprType)) { final String description = JavaErrorBundle.message("generics.unchecked.cast", JavaHighlightUtil.formatType(exprType), JavaHighlightUtil .formatType(castType)); registerProblem(description, operand, expression, LocalQuickFix.EMPTY_ARRAY); } }