DnsServerAddresses { public static DnsServerAddresses rotational(Iterable<? extends InetSocketAddress> addresses) { return rotational0(sanitize(addresses)); }  @Deprecated static List<InetSocketAddress> defaultAddressList(); @Deprecated static DnsServerAddresses defaultAddresses(); static DnsServerAddresses sequential(Iterable<? extends InetSocketAddress> addresses); static DnsServerAddresses sequential(InetSocketAddress... addresses); static DnsServerAddresses shuffled(Iterable<? extends InetSocketAddress> addresses); static DnsServerAddresses shuffled(InetSocketAddress... addresses); static DnsServerAddresses rotational(Iterable<? extends InetSocketAddress> addresses); static DnsServerAddresses rotational(InetSocketAddress... addresses); static DnsServerAddresses singleton(final InetSocketAddress address); abstract DnsServerAddressStream stream();  }
@Test public void testRotational() { DnsServerAddresses seq = DnsServerAddresses.rotational(ADDR1, ADDR2, ADDR3); DnsServerAddressStream i = seq.stream(); assertNext(i, ADDR1); assertNext(i, ADDR2); assertNext(i, ADDR3); assertNext(i, ADDR1); assertNext(i, ADDR2); assertNext(i, ADDR3); i = seq.stream(); assertNext(i, ADDR2); assertNext(i, ADDR3); assertNext(i, ADDR1); assertNext(i, ADDR2); assertNext(i, ADDR3); assertNext(i, ADDR1); i = seq.stream(); assertNext(i, ADDR3); assertNext(i, ADDR1); assertNext(i, ADDR2); assertNext(i, ADDR3); assertNext(i, ADDR1); assertNext(i, ADDR2); i = seq.stream(); assertNext(i, ADDR1); assertNext(i, ADDR2); assertNext(i, ADDR3); assertNext(i, ADDR1); assertNext(i, ADDR2); assertNext(i, ADDR3); }