@Override
    public final void onRemoval(DnsQuestion question, @Nullable List<DnsRecord> records,
                                @Nullable UnknownHostException cause) {
        if (cause != null) {
            // A failed query will be retried with the backoff.
            return;
        }

        assert question instanceof DnsQuestionWithoutTrailingDot;
        final DnsQuestionWithoutTrailingDot cast = (DnsQuestionWithoutTrailingDot) question;

        final boolean matched = questions.stream()
                                         .anyMatch(q -> q.originalName().equals(cast.originalName()) &&
                                                        q.type().equals(cast.type()));
        if (matched) {
            // The TTL of DnsRecords associated the 'questions' has expired. Refresh the old Endpoints.
            eventLoop.execute(() -> sendQueries(questions,
                                                records != null ? records : ImmutableList.of()));
        }
    }
Invoke this method at the end of the subclass constructor to initiate the queries.
core/src/main/java/com/linecorp/armeria/client/endpoint/dns/DnsEndpointGroup.java