public Set<Integer> nodesThatShouldBeDown(ClusterState state) {
        return calculate(state).nodesThatShouldBeDown();
    }
@Test
    void group_node_down_edge_implicitly_marks_down_rest_of_nodes_in_group() {
        // 3 groups of 2 nodes, take down node #4 (1st node in last group). Since we require
        // at least 51% of group capacity to be available, implicitly take down the last group
        // entirely.
        GroupAvailabilityCalculator calc = calcForHierarchicCluster(
                DistributionBuilder.withGroups(3).eachWithNodeCount(2), 0.51);

        assertThat(calc.nodesThatShouldBeDown(clusterState(
                "distributor:6 storage:6 .4.s:d")), equalTo(indices(5)));
    }