PsiElement (PsiMethodCallExpression call) { PsiMethodCallExpression qualifier = getQualifierMethodCall(call); if (qualifier == null) return null; String name = call.getMethodExpression().getReferenceName(); if (name == null) return null; if (myInvert) { if (name.equals("allMatch")) { name = "noneMatch"; } else if (name.equals("noneMatch")) { name = "allMatch"; } else { return null; } } PsiExpression[] args = qualifier.getArgumentList().getExpressions(); CommentTracker ct = new CommentTracker(); if (args.length == 1) { PsiExpression arg = args[0]; String replacement = adaptToPredicate(ct.markUnchanged(arg)); if (replacement == null) return null; ct.replace(arg, replacement); } ExpressionUtils.bindCallTo(qualifier, name); return ct.replaceAndRestoreComments(call, qualifier); }