AbstractBalancer implements Balancer<Z, D> { @Override public boolean isEmpty() { return this.getDatabases().isEmpty(); }  @Override Iterable<D> backups(); @Override Iterator<D> iterator(); @Override boolean contains(Object database); @Override boolean containsAll(Collection<?> databases); @Override boolean isEmpty(); @Override int size(); @Override Object[] toArray(); @Override T[] toArray(T[] array); @Override boolean equals(Object object); @Override int hashCode(); @Override String toString();  }
@Test public void isEmpty() { Balancer<Void, MockDatabase> balancer = this.factory.createBalancer(Collections.<MockDatabase>emptySet()); assertTrue(balancer.isEmpty()); balancer = this.factory.createBalancer(Collections.singleton(this.databases[0])); assertFalse(balancer.isEmpty()); balancer = this.factory.createBalancer(new HashSet<>(Arrays.asList(this.databases[0], this.databases[1]))); assertFalse(balancer.isEmpty()); balancer = this.factory.createBalancer(new HashSet<>(Arrays.asList(this.databases))); assertFalse(balancer.isEmpty()); }