code: @SuppressWarnings("rawtypes")
    protected PojoPathFunction getFunction(String functionName, PojoPathContext context) throws ObjectNotFoundException {
  
      PojoPathFunction function = null;
      // context overrides functions...
      PojoPathFunctionManager manager = context.getAdditionalFunctionManager();
      if (manager != null) {
        function = manager.getFunction(functionName);
      }
      if (function == null) {
        // global functions as fallback...
        manager = getFunctionManager();
        if (manager != null) {
          function = manager.getFunction(functionName);
        }
      }
      if (function == null) {
        throw new ObjectNotFoundException(PojoPathFunction.class, functionName);
      }
      return function;
    }
docs: This method gets the {@link PojoPathFunction} for the given {@code functionName}.
  
  @param functionName is the {@link PojoPathFunctionManager#getFunction(String) name} of the requested
  {@link PojoPathFunction}.
  @param context is the {@link PojoPathContext context} for this operation.
  @return the requested {@link PojoPathFunction}.
  @throws ObjectNotFoundException if no {@link PojoPathFunction} is defined for the given {@code functionName}.