String responseName, String responseObjName, Class<T> responseClz) throws Exception {
assert(responseName != null);
JsonAccessor json = execute(cmd, apiKey, secretKey);
if(followToAsyncResult && json.tryEval(responseName + ".jobid") != null) {
long startMs = System.currentTimeMillis();
while(System.currentTimeMillis() - startMs < _pollTimeoutMs) {
CloudStackCommand queryJobCmd = new CloudStackCommand("queryAsyncJobResult");
queryJobCmd.setParam("jobId", json.getAsString(responseName + ".jobid"));