@Override public void run() { CallbackData callbackData = gson.fromJson(gElement.getElement().getValue(), CallbackData.class); CallbackContext callbackContext = new CallbackContext(clusterStoreService, userStore, callbackData.getCluster().getAccount()); switch (callbackData.getType()) { case START: onStart(callbackData, callbackContext); break; case SUCCESS: clusterCallback.onSuccess(callbackData, callbackContext); break; case FAILURE: clusterCallback.onFailure(callbackData, callbackContext); break; default: LOG.error("Unknown callback type {}", callbackData.getType()); } }