code: public boolean executeAsync(ProcedureCallback callback, String procedure, Object... parameters)
              throws NoConnectionsException, IOException
      {
          ClientImpl currentClient = this.getClient();
          try {
              return currentClient.callProcedure(new TrackingCallback(this, procedure, callback),
                      procedure, parameters);
          }
          catch (NoConnectionsException e) {
              this.dropClient(currentClient);
              throw e;
          }
      }
docs: Executes a procedure asynchronously, then calls the provided user callback with the server
  response upon completion.
  
  @param callback
  the user-specified callback to call with the server response upon execution
  completion.
  @param procedure
  the name of the procedure to call.
  @param parameters
  the list of parameters to pass to the procedure.
  @return the result of the submission false if the client connection was terminated and unable
  to post the request to the server, true otherwise.