private static String getMessage(String message, List<Method> methods) {
    StringBuilder sb = new StringBuilder();
    sb.append(message);
    if (methods != null) {
      // Sort the methods before omitting them.
      sortMethods(methods);
      sb.append(". Possible choices: ");
      for (Method m: methods) {
        Type[] types = m.getGenericParameterTypes();
        sb.append("_FUNC_(");
        for (int t = 0; t < types.length; t++) {
          if (t > 0) {
            sb.append(", ");
          }
          sb.append(ObjectInspectorUtils.getTypeNameFromJavaClass(types[t]));
        }
        sb.append(")  ");
      }
    }
    return sb.toString();
  }
Constructor.

@param funcClass
         The UDF or UDAF class.
@param argTypeInfos
         The list of argument types that lead to an ambiguity.
@param methods
         All potential matches.
udf/src/java/org/apache/hadoop/hive/ql/exec/UDFArgumentException.java