void (@NotNull PsiNewExpression expression) { super.visitNewExpression(expression); final PsiType constructorType = expression.getType(); if (constructorType == null) { return; } final String constructorTypeText = constructorType.getCanonicalText(); if (!boxedPrimitiveMap.containsKey(constructorTypeText)) { return; } final PsiMethod constructor = expression.resolveConstructor(); if (constructor == null) { return; } final PsiParameterList parameterList = constructor.getParameterList(); if (parameterList.getParametersCount() != 1) { return; } final PsiParameter[] parameters = parameterList.getParameters(); final PsiParameter parameter = parameters[0]; final PsiType parameterType = parameter.getType(); final String parameterTypeText = parameterType.getCanonicalText(); final String boxableConstructorType = boxedPrimitiveMap.get(constructorTypeText); if (!boxableConstructorType.equals(parameterTypeText)) { return; } final PsiExpressionList argumentList = expression.getArgumentList(); if (argumentList == null) { return; } final PsiExpression[] arguments = argumentList.getExpressions(); if (arguments.length != 1) { return; } final PsiExpression argument = arguments[0]; final PsiType argumentType = argument.getType(); if (argumentType == null) { return; } final String argumentTypeText = argumentType.getCanonicalText(); if (!constructorTypeText.equals(argumentTypeText)) { return; } registerError(argument); }