public Result calculate(ClusterState state) {
        if (isFlatCluster(distribution.getRootGroup())) {
            // Implicit group takedown only applies to hierarchic cluster setups.
            return new Result();
        }
        InsufficientAvailabilityGroupVisitor visitor = new InsufficientAvailabilityGroupVisitor(
                state, nodesSafelySetToMaintenance, safeMaintenanceGroupThreshold);
        distribution.visitGroups(visitor);
        return visitor.result();
    }
If the number of nodes safely set to maintenance is at least this number, the remaining
nodes in the group will be set to maintenance (storage nodes) or down (distributors).

<p>This feature is disabled if safeMaintenanceGroupThreshold is 0 (not default).</p>
clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/GroupAvailabilityCalculator.java