@Nonnull
    public static <T> Traverser<T> traverseIterable(@Nonnull Iterable<? extends T> iterable) {
        return traverseIterator(iterable.iterator());
    }
@Test(expected = NullPointerException.class)
    public void when_traverseIterableWithNull_then_failure() {
        Traverser<Integer> trav = traverseIterable(asList(1, null));
        trav.next();
        trav.next();
    }