private static boolean checkFunctionalInterfaceAcceptance(PsiMethod method, PsiType left, PsiType right, boolean allowUncheckedConversion) {
    PsiFunctionalExpression fun = null;
    if (right instanceof PsiLambdaExpressionType) {
      fun = ((PsiLambdaExpressionType)right).getExpression();
    }
    else if (right instanceof PsiMethodReferenceType) {
      fun = ((PsiMethodReferenceType)right).getExpression();
    }
    return fun != null
           ? !(left instanceof PsiArrayType) && fun.isAcceptable(left, method)
           : TypeConversionUtil.isAssignable(left, right, allowUncheckedConversion);
  }
private static boolean checkFunctionalInterfaceAcceptance(PsiMethod method, PsiType left, PsiType right, boolean allowUncheckedConversion)