@Test
 public void detectWith() {
   ArrayList<Integer> list = this.getIntegerList();
   Assert.assertEquals(
       Integer.valueOf(1), ArrayListIterate.detectWith(list, Predicates2.equal(), 1));
   //noinspection CachedNumberConstructorCall,UnnecessaryBoxing
   ArrayList<Integer> list2 =
       this.newArrayList(1, new Integer(2), 2); // test relies on having a unique instance of "2"
   Assert.assertSame(list2.get(1), ArrayListIterate.detectWith(list2, Predicates2.equal(), 2));
 }
 @Test
 public void detectWithOver100() {
   ArrayList<Integer> list = new ArrayList<Integer>(Interval.oneTo(101));
   Assert.assertEquals(
       Integer.valueOf(1), ArrayListIterate.detectWith(list, Predicates2.equal(), 1));
 }