@Test(expected = UnsupportedOperationException.class)
public void testNextThrows() {

    RangeIterator delegate = mock(RangeIterator.class);
    RangeIteratorFacade<RangeIterator> facade = getFacade(delegate);
    doThrow(new IllegalArgumentException("base facade class illegally called delegate next() method")).when(delegate).next();
    facade.next();
}