public static void execute(ExecutablePool pool, String region, String functionId,
      ServerRegionFunctionExecutor serverRegionExecutor, byte hasResult, boolean isHA,
      boolean optimizeForWrite) {
    AbstractOp op = new ExecuteRegionFunctionNoAckOpImpl(region, functionId, serverRegionExecutor,
        hasResult, isHA, optimizeForWrite);
    try {
      if (logger.isDebugEnabled()) {
        logger.debug(
            "ExecuteRegionFunctionNoAckOp#execute : Sending Function Execution Message: {} to Server using pool: {}",
            op.getMessage(), pool);
      }
      pool.execute(op);
    } catch (Exception ex) {
      if (logger.isDebugEnabled()) {
        logger.debug(
            "ExecuteRegionFunctionNoAckOp#execute : Exception occurred while Sending Function Execution Message: {} to server using pool: {}",
            op.getMessage(), pool, ex);
      }
      if (ex.getMessage() != null) {
        throw new FunctionException(ex.getMessage(), ex);
      } else {
        throw new FunctionException("Unexpected exception during function execution:", ex);
      }
    }
  }
Does a execute Function on a server using connections from the given pool to communicate with
the server.

@param pool the pool to use to communicate with the server.
@param region the name of the region to do the put on
@param function to be executed
@param serverRegionExecutor which will return argument and filter
geode-core/src/main/java/org/apache/geode/cache/client/internal/ExecuteRegionFunctionNoAckOp.java