@Override
  @Test
  public void booleanIterator() {
    MutableBooleanCollection bag = this.newWith(true, false, true, true);
    BooleanArrayList list = BooleanArrayList.newListWith(true, false, true, true);
    final BooleanIterator iterator = bag.booleanIterator();
    for (int i = 0; i < 4; i++) {
      Assert.assertTrue(iterator.hasNext());
      Assert.assertTrue(list.remove(iterator.next()));
    }
    Verify.assertEmpty(list);
    Assert.assertFalse(iterator.hasNext());

    Verify.assertThrows(
        NoSuchElementException.class,
        new Runnable() {
          public void run() {
            iterator.next();
          }
        });
  }