@Test
public void testReadArrayOffsetAndLength_throwsRuntimeException() throws Exception {

    final RuntimeException exception = new RuntimeException("test");
    when(wrappedStream.read(V, 1, V.length-10)).thenThrow(exception);
    try {
        //noinspection ResultOfMethodCallIgnored
        stream.read(V, 1, V.length-10);
        fail("should've thrown!");
    } catch (RuntimeException e) {
        assertEquals("test", e.getMessage());
    }
    //noinspection ResultOfMethodCallIgnored
    verify(wrappedStream, times(1)).read(V, 1, V.length-10);
    verify(listener, times(1)).hitException(exception, 0);
}