class DnsSrvConnectionStrategy extends AbstractConnectionStrategy {

  @Override
  public synchronized Iterator<LdapURL> iterator()
  {
    if (!isInitialized()) {
      throw new IllegalStateException("Strategy is not initialized");
    }
    if (Instant.now().isAfter(expirationTime)) {
      populate(ldapUrls, ldapURLSet);
    }
    return new DefaultLdapURLIterator(ldapURLSet.getUrls());
  }

  public  DnsSrvConnectionStrategy();
  public  DnsSrvConnectionStrategy(final Duration ttl);
  public  DnsSrvConnectionStrategy(final DNSContextFactory factory);
  public  DnsSrvConnectionStrategy(final DNSContextFactory factory, final Duration ttl);
  public  DnsSrvConnectionStrategy(final DNSContextFactory factory, final Duration ttl, final boolean ssl);

}