### Question:
ConvertingIterator implements Iterator<E> { @Override public void remove() { delegate.remove(); } protected  ConvertingIterator(Iterator<? extends T> delegate); @Override final boolean hasNext(); @Override final E next(); @Override void remove();  }### Answer:
@Test(expected = UnsupportedOperationException.class) public void remove() { final Iterator<String> delegate = new SingletonIterator<>("5"); final Iterator<Integer> converter = new IntegerParsingConvertingIterator(delegate); converter.remove(); }
@Test public void mockedRemove() { final Iterator<Integer> converter = new IntegerParsingConvertingIterator(delegate); converter.remove(); verify(delegate).remove(); }