@Test
public void callableWithOneWrapperRunsThroughWrapper() throws Exception {

    final Object out = new Object();
    Callable<Object> c = new Callable<Object>() {
        public Object call() throws Exception {
            return null;
        }
    };
    ServiceWrapper wrapper = createMock(ServiceWrapper.class);
    impl = new ServiceWrapperChain(Arrays.asList(wrapper));
    expect(wrapper.invoke(c)).andReturn(out);
    replay(wrapper);
    Object result = impl.invoke(c);
    verify(wrapper);
    assertSame(out, result);
}