private boolean isTypeMoreSpecific(PsiType left, PsiType right, int argId) {
    if (TypeConversionUtil.isAssignable(left, right, false)) {
      return true;
    }
    if (myArgumentsList instanceof PsiExpressionList) {
      final PsiExpression[] expressions = ((PsiExpressionList)myArgumentsList).getExpressions();
      if (argId < expressions.length) {
        return isFunctionalTypeMoreSpecific(expressions[argId], right, left);
      }
    }
    return false;
  }
private boolean isTypeMoreSpecific(PsiType left, PsiType right, int argId)