test_class.declarator: factory = new FindFirstStageFactory()
test_class.modifier: private final
test_class.original_string: private final FindFirstStageFactory factory = new FindFirstStageFactory();
test_class.type: FindFirstStageFactory
test_class.var_name: factory
test_class.file: implementation/src/test/java/io/smallrye/reactive/streams/stages/FindFirstStageFactoryTest.java
test_class.identifier: FindFirstStageFactoryTest
test_class.superclass: extends StageTestBase
test_case.body: @Test(expected = NullPointerException.class)
      public void createWithoutStage() {
          factory.create(null, null);
      }
test_case.class_method_signature: FindFirstStageFactoryTest.createWithoutStage()
test_case.full_signature: @Test(expected = NullPointerException.class) public void createWithoutStage()
test_case.identifier: createWithoutStage
test_case.invocations: create
test_case.modifiers: @Test(expected = NullPointerException.class) public
test_case.parameters: ()
test_case.return: void
test_case.signature: void createWithoutStage()
focal_class.declarator: INSTANCE = source -> {
          CompletableFuture<Optional<?>> future = new CompletableFuture<>();
          //noinspection ResultOfMethodCallIgnored
          source.map(Optional::of).first(Optional.empty())
                  .subscribe(
                          future::complete, future::completeExceptionally);
          return future;
      }
focal_class.modifier: private static final
focal_class.original_string: private static final TerminalStage<?, Optional<?>> INSTANCE = source -> {
          CompletableFuture<Optional<?>> future = new CompletableFuture<>();
          //noinspection ResultOfMethodCallIgnored
          source.map(Optional::of).first(Optional.empty())
                  .subscribe(
                          future::complete, future::completeExceptionally);
          return future;
      };
focal_class.type: TerminalStage<?, Optional<?>>
focal_class.var_name: INSTANCE
focal_class.file: implementation/src/main/java/io/smallrye/reactive/streams/stages/FindFirstStageFactory.java
focal_class.identifier: FindFirstStageFactory
focal_class.interfaces: implements TerminalStageFactory<Stage.FindFirst>
focal_class.class_method_signature: FindFirstStageFactory.create(Engine engine, Stage.FindFirst stage)
focal_class.full_signature: @SuppressWarnings("unchecked") @Override public TerminalStage<I, O> create(Engine engine, Stage.FindFirst stage)
focal_class.identifier: create
focal_class.modifiers: @SuppressWarnings("unchecked") @Override public
focal_class.parameters: (Engine engine, Stage.FindFirst stage)
focal_class.return: TerminalStage<I, O>
focal_class.signature: TerminalStage<I, O> create(Engine engine, Stage.FindFirst stage)
focal_method.body: @SuppressWarnings("unchecked")
      @Override
      public <I, O> TerminalStage<I, O> create(Engine engine, Stage.FindFirst stage) {
          Objects.requireNonNull(stage); // Not really useful here as it conveys no parameters, so just here for symmetry
          return (TerminalStage<I, O>) INSTANCE;
      }
focal_method.class_method_signature: FindFirstStageFactory.create(Engine engine, Stage.FindFirst stage)
focal_method.full_signature: @SuppressWarnings("unchecked") @Override public TerminalStage<I, O> create(Engine engine, Stage.FindFirst stage)
focal_method.identifier: create
focal_method.invocations: requireNonNull
focal_method.modifiers: @SuppressWarnings("unchecked") @Override public
focal_method.parameters: (Engine engine, Stage.FindFirst stage)
focal_method.return: TerminalStage<I, O>
focal_method.signature: TerminalStage<I, O> create(Engine engine, Stage.FindFirst stage)