@Override
  public boolean canExtractChainCall(@NotNull PsiMethodCallExpression call, @NotNull PsiExpression expression, PsiType expressionType) {
    if (expressionType instanceof PsiPrimitiveType) return false;
    PsiExpression qualifier = call.getMethodExpression().getQualifierExpression();
    if (qualifier == null) return false;
    return NEXT_CALL.test(call) ||
           ("forEach".equals(call.getMethodExpression().getReferenceName()) &&
            InheritanceUtil.isInheritor(qualifier.getType(), FLUENT_ITERABLE));
  }
@Override
  public boolean canExtractChainCall(@NotNull PsiMethodCallExpression call, @NotNull PsiExpression expression, PsiType expressionType)