public static boolean doWePerformGenericMethodOverloadResolutionNow(PsiCall call, LanguageLevel languageLevel) {
    final PsiElement callParent = PsiUtil.skipParenthesizedExprUp(call.getParent());
    final PsiExpressionList parentArgList;
    if (languageLevel.isAtLeast(LanguageLevel.JDK_1_8)) {
      parentArgList = callParent instanceof PsiConditionalExpression && !PsiPolyExpressionUtil.isPolyExpression((PsiExpression)callParent)
                      ? null : PsiTreeUtil.getParentOfType(call, PsiExpressionList.class, true, PsiReferenceExpression.class);
    }
    else {
      parentArgList = null;
    }
    return parentArgList != null &&
           MethodCandidateInfo.isOverloadCheck(parentArgList) &&
           !ContainerUtil.exists(parentArgList.getExpressions(), expression -> {
               expression = PsiUtil.skipParenthesizedExprDown(expression);
               return expression != null && ThreadLocalTypes.hasBindingFor(expression);
             });
  }
public static boolean doWePerformGenericMethodOverloadResolutionNow(PsiCall call, LanguageLevel languageLevel)