test_class.declarator: factory = new FlatMapCompletionStageFactory()
test_class.modifier: private final
test_class.original_string: private final FlatMapCompletionStageFactory factory = new FlatMapCompletionStageFactory();
test_class.type: FlatMapCompletionStageFactory
test_class.var_name: factory
test_class.declarator: executor = Executors.newSingleThreadExecutor()
test_class.modifier: private final
test_class.original_string: private final ExecutorService executor = Executors.newSingleThreadExecutor();
test_class.type: ExecutorService
test_class.var_name: executor
test_class.file: implementation/src/test/java/io/smallrye/reactive/streams/stages/FlatMapCompletionStageFactoryTest.java
test_class.identifier: FlatMapCompletionStageFactoryTest
test_class.superclass: extends StageTestBase
test_case.body: @Test(expected = NullPointerException.class)
      public void createWithoutFunction() {
          factory.create(null, () -> null);
      }
test_case.class_method_signature: FlatMapCompletionStageFactoryTest.createWithoutFunction()
test_case.full_signature: @Test(expected = NullPointerException.class) public void createWithoutFunction()
test_case.identifier: createWithoutFunction
test_case.invocations: create
test_case.modifiers: @Test(expected = NullPointerException.class) public
test_case.parameters: ()
test_case.return: void
test_case.signature: void createWithoutFunction()
focal_class.file: implementation/src/main/java/io/smallrye/reactive/streams/stages/FlatMapCompletionStageFactory.java
focal_class.identifier: FlatMapCompletionStageFactory
focal_class.interfaces: implements ProcessingStageFactory<Stage.FlatMapCompletionStage>
focal_class.class_method_signature: FlatMapCompletionStageFactory.create(Engine engine,
              Stage.FlatMapCompletionStage stage)
focal_class.full_signature: @Override public ProcessingStage<I, O> create(Engine engine,
              Stage.FlatMapCompletionStage stage)
focal_class.identifier: create
focal_class.modifiers: @Override public
focal_class.parameters: (Engine engine,
              Stage.FlatMapCompletionStage stage)
focal_class.return: ProcessingStage<I, O>
focal_class.signature: ProcessingStage<I, O> create(Engine engine,
              Stage.FlatMapCompletionStage stage)
focal_method.body: @Override
      public <I, O> ProcessingStage<I, O> create(Engine engine,
              Stage.FlatMapCompletionStage stage) {
          Function<I, CompletionStage<O>> mapper = Casts.cast(
                  Objects.requireNonNull(stage).getMapper());
          return new FlatMapCompletionStage<>(mapper);
      }
focal_method.class_method_signature: FlatMapCompletionStageFactory.create(Engine engine,
              Stage.FlatMapCompletionStage stage)
focal_method.full_signature: @Override public ProcessingStage<I, O> create(Engine engine,
              Stage.FlatMapCompletionStage stage)
focal_method.identifier: create
focal_method.invocations: cast getMapper requireNonNull
focal_method.modifiers: @Override public
focal_method.parameters: (Engine engine,
              Stage.FlatMapCompletionStage stage)
focal_method.return: ProcessingStage<I, O>
focal_method.signature: ProcessingStage<I, O> create(Engine engine,
              Stage.FlatMapCompletionStage stage)