code: @Override
  	public Object execute(String correlationId, Parameters args) throws ApplicationException {
  		if (_schema != null)
  			_schema.validateAndThrowException(correlationId, args);
  
  		try {
  			return _function.execute(correlationId, args);
  		} catch (Throwable ex) {
  			throw new InvocationException(correlationId, "EXEC_FAILED", "Execution " + _name + " failed: " + ex)
  					.withDetails("command", _name).wrap(ex);
  		}
  	}
docs: Executes the command. Before execution is validates Parameters args using the
  defined schema. The command execution intercepts ApplicationException raised
  by the called function and throws them.
  
  @param correlationId optional transaction id to trace calls across
  components.
  @param args          the parameters (arguments) to pass to this command for
  execution.
  @return execution result.
  @throws ApplicationException when execution fails for whatever reason.
  @see Parameters