code: Function getFunction(int which)
            throws javax.xml.transform.TransformerException
    {
            try{
                if (which < NUM_BUILT_IN_FUNCS) 
                    return (Function) m_functions[which].newInstance();
                else 
                    return (Function) m_functions_customer[
                        which-NUM_BUILT_IN_FUNCS].newInstance();                  
            }catch (IllegalAccessException ex){
                    throw new TransformerException(ex.getMessage());
            }catch (InstantiationException ex){
                    throw new TransformerException(ex.getMessage());
            }
    }
docs: Obtain a new Function object from a function ID.
  
  @param which  The function ID, which may correspond to one of the FUNC_XXX
  values found in {@link org.apache.xpath.compiler.FunctionTable}, but may
  be a value installed by an external module.
  
  @return a a new Function instance.
  
  @throws javax.xml.transform.TransformerException if ClassNotFoundException,
  IllegalAccessException, or InstantiationException is thrown.