### Question:
InvokerInterceptor implements Interceptor { @Override public Object intercept(Invocation invocation) throws Throwable { return invoker.invoke(invocation.getProxy(), invocation.getMethod(), invocation.getArguments()); } InvokerInterceptor(Invoker invoker); @Override Object intercept(Invocation invocation);  }### Answer:
@Test public void testIntercept() throws Throwable { final InvokerInterceptor interceptor = new InvokerInterceptor(new Invoker() { private static final long serialVersionUID = 1L; @Override public Object invoke(Object proxy, Method method, Object[] arguments) throws Throwable { return "Hello!"; } }); final Invocation invocation = new MockInvocationBuilder(Echo.class.getDeclaredMethod("echoBack", String.class)) .withArguments("foo").build(); assertEquals("Hello!", interceptor.intercept(invocation)); }