void ( @NotNull PsiMethodCallExpression call) { super.visitMethodCallExpression(call); final PsiReferenceExpression methodExpression = call.getMethodExpression(); final String methodName = methodExpression.getReferenceName(); @NonNls final String nextDouble = "nextDouble"; if (!nextDouble.equals(methodName)) { return; } final PsiMethod method = call.resolveMethod(); if (method == null) { return; } final PsiClass containingClass = method.getContainingClass(); if (containingClass == null) { return; } final String className = containingClass.getQualifiedName(); if (!"java.util.Random".equals(className)) { return; } final PsiExpression possibleMultiplierExpression = getContainingExpression(call); if (!isMultiplier(possibleMultiplierExpression)) { return; } final PsiExpression possibleIntCastExpression = getContainingExpression(possibleMultiplierExpression); if (!isIntCast(possibleIntCastExpression)) { return; } registerMethodCallError(call); }