@Override
        protected void configure(ServerBuilder sb) throws Exception {
            sb.service("/", (ctx, req) -> HttpResponse.of(200));
            sb.service("/health", HealthCheckService.of());
        }
When {@link EndpointGroup#orElse(EndpointGroup)} is used and the endpoint group is wrapped by
{@link HealthCheckedEndpointGroup}, there was a chance that endpoints are not set forever
before https://github.com/line/armeria/pull/3181 is merged.
It happens when:
- {@link EndpointGroup#whenReady()} is completed with the second endpoint group.
- The endpoint group of the  first {@link EndpointGroup} are set.
- {@link HealthCheckedEndpointGroup} is created.
In this case, the health check requests are sent to the second {@link EndpointGroup} to filter
unhealthy endpoints. However, because {@link EndpointGroup#endpoints()} returns the endpoint
group in the first {@link EndpointGroup}, there's always no matching.
core/src/test/java/com/linecorp/armeria/client/endpoint/healthcheck/HealthCheckEndpointGroupRaceTest.java