code: public void checkReloadState(final AsyncCallback<Boolean> callback) {
  
          // :read-attribute(name=process-type)
          final ModelNode operation = new ModelNode();
          operation.get(OP).set(READ_ATTRIBUTE_OPERATION);
          operation.get(NAME).set("server-state");
          operation.get(ADDRESS).setEmptyList();
  
          dispatcher.execute(new DMRAction(operation), new SimpleCallback<DMRResponse>() {
  
              @Override
              public void onSuccess(DMRResponse result) {
  
                  ModelNode response = result.get();
                  System.out.println(response);
  
                  if(response.isFailure()) {
                      callback.onFailure(new RuntimeException("Failed to poll server state"));
                  }
                  else
                  {
                      // TODO: only works when this response changes the reload state
                      String outcome = response.get(RESULT).asString();
                      boolean keepRunning = !outcome.equalsIgnoreCase("running");//reloadState.isStaleModel();
  
                      if(!keepRunning)
                      {
  
                          // clear state
                          reloadState.reset();
  
                          Console.info(Console.MESSAGES.successful("Reload Server"));
                          getView().setReloadRequired(reloadState);
                          getEventBus().fireEvent(new ReloadEvent());
                      }
  
                      callback.onSuccess(keepRunning);
                  }
              }
          });
      }
docs: Simply query the process state attribute to get to the required headers