boolean (@NotNull PsiMethodCallExpression methodCallExpression) { String name = methodCallExpression.getMethodExpression().getReferenceName(); if (name == null || !Holder.MAP_METHODS.contains(name)) return false; final PsiExpressionList argumentList = methodCallExpression.getArgumentList(); final PsiExpression[] expressions = argumentList.getExpressions(); if (!name.startsWith("map") && expressions.length == 0) return true; if (expressions.length != 1) return false; if (!StreamRefactoringUtil.isRefactoringCandidate(expressions[0], true)) return false; final PsiMethod method = methodCallExpression.resolveMethod(); if (method == null) return false; final PsiClass containingClass = method.getContainingClass(); return InheritanceUtil.isInheritor(containingClass, CommonClassNames.JAVA_UTIL_STREAM_BASE_STREAM); }