@SafeVarargs
    public static <T> Traverser<T> traverseItems(T... items) {
        return traverseArray(items);
    }
@Test
    public void peek() {
        List<Integer> list = new ArrayList<>();
        Traverser<Integer> t = traverseItems(1, 2, 3).peek(list::add);

        assertEquals(Integer.valueOf(1), t.next());
        assertEquals(Integer.valueOf(2), t.next());
        assertEquals(Integer.valueOf(3), t.next());
        assertNull(t.next());

        assertEquals(Arrays.asList(1, 2, 3), list);
    }