@Nonnull
    public static <T> Traverser<T> traverseEnumeration(@Nonnull Enumeration<T> enumeration) {
        return () -> enumeration.hasMoreElements()
                ? requireNonNull(enumeration.nextElement(), "Enumeration contains a null element")
                : null;
    }
@Test(expected = NullPointerException.class)
    public void when_traverseEnumerationWithNull_then_failure() {
        Traverser<Integer> trav = traverseEnumeration(new Vector<>(asList(1, null)).elements());
        trav.next();
        trav.next();
    }