public final HealthCheckedEndpointGroup build() {
        final HealthCheckStrategy healthCheckStrategy;
        if (maxEndpointCount != null) {
            healthCheckStrategy = HealthCheckStrategy.ofCount(maxEndpointCount);
        } else {
            if (maxEndpointRatio == null || maxEndpointRatio == 1.0) {
                healthCheckStrategy = HealthCheckStrategy.all();
            } else {
                healthCheckStrategy = HealthCheckStrategy.ofRatio(maxEndpointRatio);
            }
        }

        final long initialSelectionTimeoutMillis =
                LongMath.saturatedAdd(this.initialSelectionTimeoutMillis, delegate.selectionTimeoutMillis());
        final long selectionTimeoutMillis =
                LongMath.saturatedAdd(this.selectionTimeoutMillis, delegate.selectionTimeoutMillis());

        return new HealthCheckedEndpointGroup(delegate, shouldAllowEmptyEndpoints(),
                                              initialSelectionTimeoutMillis, selectionTimeoutMillis,
                                              protocol, port, retryBackoff,
                                              clientOptionsBuilder.build(),
                                              newCheckerFactory(), healthCheckStrategy,
                                              healthCheckedEndpointPredicate);
    }
Returns a newly created {@link HealthCheckedEndpointGroup} based on the properties set so far.
core/src/main/java/com/linecorp/armeria/client/endpoint/healthcheck/AbstractHealthCheckedEndpointGroupBuilder.java