@Test(expected = CRestException.class)
public void shouldIterateOverResponseDeserializersAsLongAsIllegalArgumentExceptionIsThrown() throws Exception {

    Exception e1 = new IllegalArgumentException();
    Exception e2 = new IllegalArgumentException();
    when(mockResponseDeserializer1.deserialize(mockResponse)).thenThrow(e1);
    when(mockResponseDeserializer2.deserialize(mockResponse)).thenThrow(e2);
    try {
        toTest.deserialize(mockResponse);
        fail();
    } catch (Exception e) {
        assertSame(e2, e.getCause());
        throw e;
    }
}