code: private void synchronizeHosts(final AsyncCallback<Boolean> callback) {
          ModelNode op = new ModelNode();
          op.get(ADDRESS).setEmptyList();
          op.get(OP).set(READ_CHILDREN_RESOURCES_OPERATION);
          op.get(CHILD_TYPE).set("host");
  
          Footer.PROGRESS_ELEMENT.reset();
  
          dispatcher.execute(new DMRAction(op), new AsyncCallback<DMRResponse>() {
              @Override
              public void onFailure(Throwable caught) {
                  Footer.PROGRESS_ELEMENT.finish();
                  callback.onFailure(caught);
              }
  
              @Override
              public void onSuccess(DMRResponse result) {
                  ModelNode response = result.get();
                  if (response.isFailure()) {
                      Footer.PROGRESS_ELEMENT.finish();
                      callback.onFailure(new RuntimeException("Failed to synchronize host model: " + response.getFailureDescription()));
                  } else {
                      List<Property> properties = response.get(RESULT).asPropertyList();
                      List<String> hostNames = new ArrayList<String>(properties.size());
                      for (Property property : properties) {
                          hostNames.add(property.getName());
                          if (property.getValue().hasDefined("master") && property.getValue().get("master").asBoolean()) {
                              domainController = property.getName();
                          }
                      }
  
                      Footer.PROGRESS_ELEMENT.finish();
  
                      // synchronize servers
                      synchronizeServerModel(hostNames, callback);
                  }
              }
  
          });
  
      }
docs: ------------------------