public static <T> CloseableIterator<T> concat(CloseableIterator<T> a, CloseableIterator<T> b) {
    return concat(Lists.newArrayList(a, b));
  }
@Test
  public void concatTwo() {
    ArrayList<Integer> list1 = Lists.newArrayList(1, 2);
    ArrayList<Integer> list2 = Lists.newArrayList(3, 4, 5);
    TestIterator iterator1 = new TestIterator(list1);
    TestIterator iterator2 = new TestIterator(list2);
    CloseableIterator<Integer> iterator3 = CloseableIterator.concat(iterator1, iterator2);
    Iterators.elementsEqual(Iterators.concat(list1.iterator(), list2.iterator()), iterator3.get());
    iterator3.close();
    Assert.assertTrue(iterator1.isClosed());
    Assert.assertTrue(iterator2.isClosed());
  }