@Test
public void Should_WrapCaughtExceptions()
        throws Exception {

    IMessageProcessingSequence sequenceMock = mock(IMessageProcessingSequence.class);
    Exception exception = new ReadValueException();
    when(messageProcessorMock.getSequence()).thenReturn(sequenceMock);
    when(contextMock.getValue(same(causeLevelFieldName))).thenThrow(exception);
    when(contextMock.getValue(same(causeStepFieldName))).thenReturn(123);
    IMessageReceiver receiver = new SkipReceiverExceptionHandler();
    try {
        receiver.receive(messageProcessorMock);
        fail();
    } catch (MessageReceiveException e) {
        assertSame(exception, e.getCause());
    }
}