void (@NotNull Runnable firework, @NotNull BiConsumer<ExtensionPointImpl<@NotNull String>, MyShootingComponentAdapter> test) { ExtensionPointImpl<@NotNull String> extensionPoint = buildExtensionPoint(String.class); MyShootingComponentAdapter adapter = newStringAdapter(); extensionPoint.registerExtension("first", disposable); assertThat(extensionPoint.getExtensionList()).hasSize(1); // registers a wrapping adapter extensionPoint.registerExtension("second", LoadingOrder.FIRST, disposable); extensionPoint.addExtensionAdapter(adapter); adapter.setFire(firework); test.accept(extensionPoint, adapter); }