### Question:
TransformedIterator implements Iterator<T> { public T next() { return function.evaluate(iterator.next()); } TransformedIterator(Iterator<? extends E> iterator, Function<? super E, ? extends T> function); boolean hasNext(); T next(); void remove(); @Override boolean equals(Object obj); @Override int hashCode(); @Override String toString(); static Iterator<T> transform(Iterator<? extends E> iter, Function<? super E, ? extends T> func); static Iterator<?> maybeTransform(Iterator<? extends E> iter, Function<? super E, ?> func);  }### Answer:
@Test(expected = NoSuchElementException.class) public void testNextOnEmptyList() { Iterator<Integer> testing = new TransformedIterator<Integer, Integer>(Collections.<Integer> emptyList().iterator(), negate); testing.next(); }