void (@NotNull PsiLambdaExpression expression) { final PsiLambdaExpression other = getExpression(PsiLambdaExpression.class, expression); if (other == null) return; final PsiParameterList parameterList1 = expression.getParameterList(); if (!myMatchingVisitor.setResult( parameterList1.isEmpty() || myMatchingVisitor.matchSons(parameterList1, other.getParameterList()))) return; final PsiElement body1 = getElementToMatch(expression.getBody()); if (body1 == null) { return; } final PsiElement body2 = getElementToMatch(other.getBody()); if (body1 instanceof PsiExpression && (body2 == null || body2 instanceof PsiStatement || body2 instanceof PsiComment)) { final PsiElement parent = body1.getParent(); myMatchingVisitor.setResult(parent instanceof PsiStatement ? myMatchingVisitor.matchSequentially(parent, body2) : myMatchingVisitor.matchSequentially(body1, (body2 == null) ? other.getBody() : body2.getParent())); } else { myMatchingVisitor.setResult(myMatchingVisitor.matchSequentially(body1, body2)); } }