code: static void addFunction(final String name, final Expression expr) {
      if (name == null || name.isEmpty()) {
        throw new IllegalArgumentException("Missing function name");
      }
      if (expr == null) {
        throw new IllegalArgumentException("Function cannot be null");
      }
      available_functions.put(name, expr);
    }
docs: Add an expression to the map.
  WARNING: The map is not thread safe so don't use this to dynamically
  modify the map while the TSD is running.
  @param name The name of the expression
  @param expr The expression object to store.
  @throws IllegalArgumentException if the name is null or empty or the
  function is null.