void ( @NotNull PsiMethodCallExpression expression) { super.visitMethodCallExpression(expression); final PsiReferenceExpression methodExpression = expression.getMethodExpression(); @NonNls final String methodName = methodExpression.getReferenceName(); if (!"wait".equals(methodName) && !"await".equals(methodName)) { return; } final PsiExpressionList argList = expression.getArgumentList(); final PsiExpression[] args = argList.getExpressions(); final int numParams = args.length; if (numParams != 0) { return; } if ("await".equals(methodName)) { final PsiMethod method = expression.resolveMethod(); if (method == null) { return; } final PsiClass containingClass = method.getContainingClass(); if (containingClass == null) { return; } final String className = containingClass.getName(); if (!"java.util.concurrent.locks.Condition".equals(className)) { return; } } registerMethodCallError(expression); }