@Test
public void runnableWithReturnWithOneWrapperRunsThroughWrapper() throws Exception {

    final Object out = new Object();
    Runnable r = createMock(Runnable.class);
    ServiceWrapper wrapper = createMock(ServiceWrapper.class);
    impl = new ServiceWrapperChain(Arrays.asList(wrapper));
    wrapper.invoke(r);
    replay(wrapper);
    replay(r);
    Object result = impl.invoke(r, out);
    verify(wrapper);
    verify(r);
    assertSame(out, result);
}