void () { ExtensionPointImpl<@NotNull String> extensionPoint = buildExtensionPoint(String.class); extensionPoint.registerExtension("first", disposable); MyShootingComponentAdapter adapter = newStringAdapter(); extensionPoint.addExtensionAdapter(adapter); adapter.setFire(() -> { throw ExtensionNotApplicableException.create(); }); extensionPoint.registerExtension("third", disposable); Iterator<String> iterator = extensionPoint.asSequence().iterator(); assertThat(iterator.hasNext()).isTrue(); assertThat(iterator.next()).isEqualTo("first"); assertThat(iterator.hasNext()).isTrue(); assertThat(iterator.next()).isEqualTo("third"); assertThat(iterator.hasNext()).isFalse(); }