@Test
public void testHookedAdapter() {

	InvocationHandlerAdapter handler = new InvocationHandlerAdapter(
			new TestServiceImpl()) {
		@Override
		public Object invoke(Object proxy, Method method, Object[] args)
				throws Throwable {
			Integer ret = (Integer) super.invoke(proxy, method, args);
			ret = ret * 2;
			return ret;
		}
	};
	TestService test = handler.createProxy(TestService.class);
	assertEquals(28, test.sum(5, 9));
}