### Question:
BoonServiceMethodCallHandler implements ServiceMethodHandler { @Override public void shutdown() { queueCallBackHandler.queueShutdown(); } BoonServiceMethodCallHandler(final boolean invokeDynamic); @Override Response<Object> receiveMethodCall(MethodCall<Object> methodCall); boolean couldHaveCallback(final String name); @Override void init(
            Object service,
            String rootAddress,
            String serviceAddress,
            SendQueue<Response<Object>> responseSendQueue); @Override void init(); @Override void startBatch(); @Override TreeSet<String> addresses(); @Override void handleEvent(Event<Object> event); @Override String address(); @Override String name(); @Override void receive(MethodCall<Object> item); @Override void empty(); @Override void limit(); @Override void shutdown(); @Override void idle();  }### Answer:
@Test public void testShutdown() { class MyService { boolean called; @QueueCallback(QueueCallbackType.SHUTDOWN) private void shutdown() { called = true; } } MyService myService = new MyService(); final BoonServiceMethodCallHandler boonServiceMethodCallHandler = new BoonServiceMethodCallHandler(true); boonServiceMethodCallHandler.init(myService, "", "", new SendQueue<Response<Object>>() { }); boonServiceMethodCallHandler.init(); boonServiceMethodCallHandler.limit(); boonServiceMethodCallHandler.empty(); boonServiceMethodCallHandler.idle(); boonServiceMethodCallHandler.startBatch(); assertFalse(myService.called); boonServiceMethodCallHandler.shutdown(); assertTrue(myService.called); }