private Class<?> getPermanentUdfClass(FunctionInfo function) throws ClassNotFoundException {
    Class<?> functionClass = function.getFunctionClass();
    if (functionClass == null) {
      // Expected for permanent UDFs at this point.
      ClassLoader loader = Utilities.getSessionSpecifiedClassLoader();
      functionClass = Class.forName(function.getClassName(), true, loader);
    }
    return functionClass;
  }
Get the GenericUDAF evaluator for the name and argumentClasses.

@param name         the name of the UDAF
@param argumentOIs
@param isDistinct
@param isAllColumns
@return The UDAF evaluator
ql/src/java/org/apache/hadoop/hive/ql/exec/Registry.java