public TabularResultModel addTableAndSetStatus(String namedSection,
      List<CliFunctionResult> functionResults, boolean ignoreIgnorable,
      boolean ignorePartialFailure) {
    Object model = sections.get(namedSection);
    if (model != null) {
      throw new IllegalStateException(
          "Section already exists. Can't overwrite it with this new content.");
    }
    TabularResultModel section = addTable(namedSection);
    boolean atLeastOneSuccess = false;
    boolean atLeastOneFailure = false;
    section.setColumnHeader("Member", "Status", "Message");
    for (CliFunctionResult functionResult : functionResults) {
      if (functionResult == null) {
        continue;
      }
      section.addRow(functionResult.getMemberIdOrName(), functionResult.getStatus(ignoreIgnorable),
          functionResult.getStatusMessage());
      if (functionResult.isSuccessful()) {
        atLeastOneSuccess = true;
      } else if (functionResult.isIgnorableFailure() && ignoreIgnorable) {
        atLeastOneSuccess = true;
      } else if (functionResult.isIgnorableFailure() && !ignoreIgnorable) {
        atLeastOneFailure = true;
      } else if (!functionResult.isSuccessful()) {
        atLeastOneFailure = true;
      }
    }
    if (ignorePartialFailure) {
      setStatus(atLeastOneSuccess ? Result.Status.OK : Result.Status.ERROR);
    } else {
      setStatus(atLeastOneFailure ? Result.Status.ERROR : Result.Status.OK);
    }
    return section;
  }
Overloaded method to create an {@code InfoResultModel} section called "info".
geode-gfsh/src/main/java/org/apache/geode/management/internal/cli/result/model/ResultModel.java