void (@NotNull Project project, @NotNull PsiElement element, @NotNull ModPsiUpdater updater) { if(!(element instanceof PsiNewExpression newExpression)) return; PsiAnonymousClass aClass = newExpression.getAnonymousClass(); if(aClass == null) return; PsiMethod[] methods = aClass.getMethods(); if(methods.length != 1) return; PsiMethod method = methods[0]; if(method.getBody() == null) return; UnaryOperator<PsiLambdaExpression> replacer = lambda -> { PsiElementFactory factory = JavaPsiFacade.getElementFactory(project); PsiElement replacement = element.replace(factory.createExpressionFromText(myAlternative.myLambdaAlternative, element)); PsiElement[] lambdaPositions = PsiTreeUtil.collectElements(replacement, e -> e instanceof PsiReference && e.textMatches("$lambda$")); LOG.assertTrue(lambdaPositions.length == 1); return (PsiLambdaExpression)lambdaPositions[0].replace(lambda); }; AnonymousCanBeLambdaInspection.generateLambdaByMethod(aClass, method, replacer, true); }