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;
        }
    }
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 ; } }
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.