@UnstableApi
    public SELF selectionTimeout(Duration initialSelectionTimeout, Duration selectionTimeout) {
        requireNonNull(initialSelectionTimeout, "initialSelectionTimeout");
        requireNonNull(selectionTimeout, "selectionTimeout");
        return selectionTimeoutMillis(initialSelectionTimeout.toMillis(), selectionTimeout.toMillis());
    }
Sets the timeouts to wait until a successful {@link Endpoint} selection.
{@link Duration#ZERO} disables the timeout.

<p>The final timeout is calculated by adding the
{@link HealthCheckedEndpointGroup#selectionTimeoutMillis()} and the selection timeout of the delegate
specified when creating this builder.
For example:<pre>{@code
DnsAddressEndpointGroup delegate = DnsAddressEndpointGroup.builder("armeria.dev")
                                                          .selectionTimeout(Duration.ofSeconds(3))
                                                          ...
                                                          .build();
HealthCheckedEndpointGroup endpointGroup =
    HealthCheckedEndpointGroup.builder(delegate, "/health")
                              .selectionTimeout(Duration.ofSeconds(10), Duration.ofSeconds(5))
                              ...
                              .build();
assert endpointGroup.selectionTimeoutMillis() == 13000; // 10000 (health) + 3000 (dns)

// Wait for the initial endpoints.
endpointGroup.whenReady().join();
assert endpointGroup.selectionTimeoutMillis() == 8000; // 5000 (health) + 3000 (dns)
}</pre>

@param initialSelectionTimeout the initial selection timeout to wait for the
                               {@linkplain HealthCheckedEndpointGroup#whenReady() initial endpoints}.
                               If unspecified, {@link Flags#defaultResponseTimeoutMillis()} is used by
                               default.
@param selectionTimeout the selection timeout to wait for an {@link Endpoint} after the initial
                        endpoints are resolved.
                        If unspecified, {@link Flags#defaultConnectTimeoutMillis()}} is used by
                        default.
core/src/main/java/com/linecorp/armeria/client/endpoint/healthcheck/AbstractHealthCheckedEndpointGroupBuilder.java