public void onSuccess(CommandResponse response) { try { if (response.isError()) { handleError(response); } else { if (!deferred.isCancelled()) { for (CommandCallback callback : deferred.getCallbacks()) { try { callback.execute(response); } catch (Throwable t) { Log.logError("Command failed on success callback", t); } } } } } catch (Throwable t) { Log.logError("Command failed on success callback", t); } finally { decrementDispatched(); deferreds.remove(deferred); } }