void (@NotNull PsiMethodCallExpression call) { PsiElement nameElement = call.getMethodExpression().getReferenceNameElement(); if (nameElement == null) return; String name = nameElement.getText(); if (!INTERESTING_NAMES.contains(name)) return; PsiMethod method = call.resolveMethod(); if (method == null) return; PsiClass aClass = method.getContainingClass(); if (aClass == null || !CommonClassNames.JAVA_UTIL_ARRAYS.equals(aClass.getQualifiedName())) return; PsiExpression[] args = call.getArgumentList().getExpressions(); switch (name) { case "fill", "binarySearch" -> { if (args.length == 2) { handleArrayElement(args[0], args[1]); } else if (args.length == 4) { handleArrayElement(args[0], args[3]); } } case "equals", "mismatch" -> { if (args.length == 2) { handleArrays(nameElement, args[0], args[1]); } else if (args.length == 6) { handleArrays(nameElement, args[0], args[3]); } } } }