### Question:
RoundRobinBalancingPolicy implements LoadBalancingPolicy { @Override public Object getPool(Collection<Object> pools) { try { return Iterables.get(pools, getAndIncrement(pools.size())); } catch (IndexOutOfBoundsException e) { return pools.iterator().next(); } } RoundRobinBalancingPolicy(); @Override Object getPool(Collection<Object> pools);  }### Answer:
@Test public void testGetPool() { Map<String, Object> map = new LinkedHashMap<String, Object>(); Object o1 = new Object(); Object o2 = new Object(); Object o3 = new Object(); map.put("first", o1); map.put("second", o2); map.put("third", o3); RoundRobinBalancingPolicy balancingPolicy = new RoundRobinBalancingPolicy(); for (int i = 0; i < 1300; i++) { Object o = balancingPolicy.getPool(map.values()); Assert.assertNotNull(o); if (i % 3 == 0) { Assert.assertEquals(o1, o); } else if (i % 3 == 1) { Assert.assertEquals(o2, o); } else if (i % 3 == 2) { Assert.assertEquals(o3, o); } } }