public static boolean canBeExtractedWithoutExplicitType(PsiExpression expr) {
    if (PsiUtil.isAvailable(JavaFeature.LVTI, expr)) {
      PsiType type = getNormalizedType(expr);
      if (type != null && !PsiTypes.nullType().equals(type) && PsiTypesUtil.isDenotableType(type, expr)) {
        PsiExpression copy =
          (PsiExpression)(type instanceof PsiDisjunctionType ? expr.copy() : LambdaUtil.copyWithExpectedType(expr, type));
        if (type.equals(getNormalizedType(copy))) {
          return true;
        }
      }
    }
    return false;
  }
public static boolean canBeExtractedWithoutExplicitType(PsiExpression expr)