docs: public void callExecuteTaskAsync(SimpleClientResponseAdapter.Callback cb, byte[] params) throws IOException {
          final String procedureName = "@ExecuteTask";
          Config procedureConfig = SystemProcedureCatalog.listing.get(procedureName);
          Procedure proc = procedureConfig.asCatalogProcedure();
          StoredProcedureInvocation spi = new StoredProcedureInvocation();
          spi.setProcName(procedureName);
          spi.setParams(params);
          spi.setClientHandle(m_executeTaskAdpater.registerCallback(cb));
          if (spi.getSerializedParams() == null) {
              spi = MiscUtils.roundTripForCL(spi);
          }
          synchronized (m_executeTaskAdpater) {
              m_dispatcher.createTransaction(m_executeTaskAdpater.connectionId(), spi,
                      proc.getReadonly(), proc.getSinglepartition(), proc.getEverysite(),
                      new int[] { 0 } /* Can provide anything for multi-part */,
                      spi.getSerializedSize(), System.nanoTime());
          }
      }