### Question:
DefaultMentionsEventExecutor implements MentionsEventExecutor, Initializable, Disposable { @Override public void dispose() { this.jmxRegistration.unregisterMBean(MBEAN_NAME); for (MentionsConsumer consumer : this.consumers) { consumer.halt(); this.queue.add(MentionsData.STOP); } this.blockingQueueProvider.closeQueue(); }  @Override void initialize(); @Override void startThreads(); @Override void dispose(); @Override void execute(DocumentReference documentReference, DocumentReference authorReference, String version); @Override long getQueueSize(); List<MentionsConsumer> getConsumers();  }### Answer:
@Test void dispose() { this.executor.dispose(); verify(this.jmxRegistration).unregisterMBean("name=mentions"); for (MentionsConsumer mentionsConsumer : this.executor.getConsumers()) { verify(mentionsConsumer).consume(); verify(this.blockingQueue).add(MentionsData.STOP); } verify(this.blockingQueueProvider).closeQueue(); }