### Question:
DefaultEventManager implements EventManager { @Override public void unregisterListener(@NotNull Object listener) { this.registeredListeners.removeIf(listenerContainer -> listenerContainer.getListenerInstance() == listener); }  @Nullable @Override T callEvent(@NotNull Class<? extends T> event); @NotNull @Override T callEvent(@NotNull T event); @NotNull @Override Task<T> callEventAsync(@NotNull Class<? extends T> event); @NotNull @Override Task<T> callEventAsync(@NotNull T event); @Override void registerListener(@NotNull Object listener); @Override void registerListener(@NotNull Class<?> listener); @Override void unregisterListener(@NotNull Object listener); @Override void unregisterAll(); @NotNull @Override @UnmodifiableView List<ListenerContainer> getListeners();  }### Answer:
@Test @Order(6) void testUnregisterListener() { Assertions.assertTrue(this.eventManager.getListeners().size() > 0); ListenerContainer container = this.eventManager.getListeners().get(0); Assertions.assertEquals(TestListenerOne.class, container.getListenerInstance().getClass()); this.eventManager.unregisterListener(container.getListenerInstance()); Assertions.assertEquals(1, this.eventManager.getListeners().size()); }