code: @Nonnull
    public EChange addUniqueFunction (@Nonnull final QName aName,
                                      @Nonnegative final int nArity,
                                      @Nonnull final XPathFunction aFunction)
    {
      ValueEnforcer.notNull (aFunction, "Function");
  
      final XPathFunctionKey aFunctionKey = new XPathFunctionKey (aName, nArity);
      if (m_aMap.containsKey (aFunctionKey))
        return EChange.UNCHANGED;
      m_aMap.put (aFunctionKey, aFunction);
      return EChange.CHANGED;
    }
docs: Add a new function.
  
  @param aName
  The qualified name of the function
  @param nArity
  The number of parameters of the function
  @param aFunction
  The function to be used. May not be <code>null</code>.
  @return {@link EChange}