code: private void readFederation() {
          if (federation != null) {
              Operation fedOp = new Operation.Builder(READ_RESOURCE_OPERATION,
                      FEDERATION_TEMPLATE.resolve(statementContext, federation)).param(RECURSIVE, true).build();
              Operation sdOp = new Operation.Builder(READ_CHILDREN_NAMES_OPERATION,
                      AddressTemplate.of("{selected.profile}/subsystem=security").resolve(statementContext))
                      .param(CHILD_TYPE, "security-domain")
                      .build();
              dispatcher.execute(new DMRAction(new Composite(fedOp, sdOp)), new SimpleCallback<DMRResponse>() {
                  @Override
                  public void onSuccess(final DMRResponse dmrResponse) {
                      ModelNode response = dmrResponse.get();
  
                      if (response.isFailure()) {
                          Log.error("Failed to read federation " + federation, response.getFailureDescription());
                      } else {
                          ModelNode fedNode = response.get(RESULT).get("step-1").get(RESULT);
                          identityProvider = fedNode.get("identity-provider").asProperty().getName();
                          List<ModelNode> sdNodes = response.get(RESULT).get("step-2").get(RESULT).asList();
  
                          getView().update(fedNode, Ordering.natural().immutableSortedCopy(
                                  FluentIterable.from(sdNodes).transform(ModelNode::asString)));
                      }
                  }
              });
          }
      }
docs: ------------------------------------------------------ federation