test_class.declarator: executor
test_class.modifier: private
test_class.original_string: private ExecutorService executor;
test_class.type: ExecutorService
test_class.var_name: executor
test_class.file: reactfx/src/test/java/org/reactfx/AwaitTest.java
test_class.identifier: AwaitTest
test_case.body: @Test
      public void testAwaitCompletionStage() throws InterruptedException, ExecutionException {
          CompletableFuture<List<Object>> emitted = new CompletableFuture<>();
          EventSource<Integer> src = new EventSource<>();
          AwaitingEventStream<Try<Integer>> squares = src.mapToCompletionStage(x -> async(x*x)).await(executor);
          executor.execute(() -> {
              List<Object> res = aggregate(EventStreams.merge(
                      squares.map(Try::get),
                      EventStreams.valuesOf(squares.pendingProperty())));
              src.push(1);
              src.push(2);
              src.push(3);
              src.push(4);
              executor.execute(() -> executor.execute(() -> emitted.complete(res)));
          });
          assertEquals(Arrays.asList(false, true, 1, 4, 9, 16, false), emitted.get());
      }
test_case.class_method_signature: AwaitTest.testAwaitCompletionStage()
test_case.full_signature: @Test public void testAwaitCompletionStage()
test_case.identifier: testAwaitCompletionStage
test_case.invocations: await mapToCompletionStage async execute aggregate merge map valuesOf pendingProperty push push push push execute execute complete assertEquals asList get
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testAwaitCompletionStage()
focal_class.declarator: source
focal_class.modifier: private final
focal_class.original_string: private final EventStream<F> source;
focal_class.type: EventStream<F>
focal_class.var_name: source
focal_class.declarator: pending = new SuspendableNo()
focal_class.modifier: private final
focal_class.original_string: private final SuspendableNo pending = new SuspendableNo();
focal_class.type: SuspendableNo
focal_class.var_name: pending
focal_class.declarator: addCompletionHandler
focal_class.modifier: private final
focal_class.original_string: private final BiConsumer<F, TriConsumer<T, Throwable, Boolean>> addCompletionHandler;
focal_class.type: BiConsumer<F, TriConsumer<T, Throwable, Boolean>>
focal_class.var_name: addCompletionHandler
focal_class.file: reactfx/src/main/java/org/reactfx/Await.java
focal_class.identifier: Await
focal_class.interfaces: implements AwaitingEventStream<Try<T>>
focal_class.class_method_signature: Await.awaitCompletionStage(
              EventStream<CompletionStage<T>> source,
              Executor clientThreadExecutor)
focal_class.full_signature: public static AwaitingEventStream<Try<T>> awaitCompletionStage(
              EventStream<CompletionStage<T>> source,
              Executor clientThreadExecutor)
focal_class.identifier: awaitCompletionStage
focal_class.modifiers: public static
focal_class.parameters: (
              EventStream<CompletionStage<T>> source,
              Executor clientThreadExecutor)
focal_class.return: AwaitingEventStream<Try<T>>
focal_class.signature: AwaitingEventStream<Try<T>> awaitCompletionStage(
              EventStream<CompletionStage<T>> source,
              Executor clientThreadExecutor)
focal_class.class_method_signature: Await.awaitTask(
              EventStream<Task<T>> source)
focal_class.full_signature: public static AwaitingEventStream<Try<T>> awaitTask(
              EventStream<Task<T>> source)
focal_class.identifier: awaitTask
focal_class.modifiers: public static
focal_class.parameters: (
              EventStream<Task<T>> source)
focal_class.return: AwaitingEventStream<Try<T>>
focal_class.signature: AwaitingEventStream<Try<T>> awaitTask(
              EventStream<Task<T>> source)
focal_class.class_method_signature: Await.addCompletionHandler(
              CompletionStage<T> future,
              TriConsumer<T, Throwable, Boolean> handler,
              Executor executor)
focal_class.full_signature: static void addCompletionHandler(
              CompletionStage<T> future,
              TriConsumer<T, Throwable, Boolean> handler,
              Executor executor)
focal_class.identifier: addCompletionHandler
focal_class.modifiers: static
focal_class.parameters: (
              CompletionStage<T> future,
              TriConsumer<T, Throwable, Boolean> handler,
              Executor executor)
focal_class.return: void
focal_class.signature: void addCompletionHandler(
              CompletionStage<T> future,
              TriConsumer<T, Throwable, Boolean> handler,
              Executor executor)
focal_class.class_method_signature: Await.addCompletionHandler(
              Task<T> t,
              TriConsumer<T, Throwable, Boolean> handler)
focal_class.full_signature: static void addCompletionHandler(
              Task<T> t,
              TriConsumer<T, Throwable, Boolean> handler)
focal_class.identifier: addCompletionHandler
focal_class.modifiers: static
focal_class.parameters: (
              Task<T> t,
              TriConsumer<T, Throwable, Boolean> handler)
focal_class.return: void
focal_class.signature: void addCompletionHandler(
              Task<T> t,
              TriConsumer<T, Throwable, Boolean> handler)
focal_class.class_method_signature: Await.Await(
              EventStream<F> source,
              BiConsumer<F, TriConsumer<T, Throwable, Boolean>> addCompletionHandler)
focal_class.full_signature: private  Await(
              EventStream<F> source,
              BiConsumer<F, TriConsumer<T, Throwable, Boolean>> addCompletionHandler)
focal_class.identifier: Await
focal_class.modifiers: private
focal_class.parameters: (
              EventStream<F> source,
              BiConsumer<F, TriConsumer<T, Throwable, Boolean>> addCompletionHandler)
focal_class.signature:  Await(
              EventStream<F> source,
              BiConsumer<F, TriConsumer<T, Throwable, Boolean>> addCompletionHandler)
focal_class.class_method_signature: Await.pendingProperty()
focal_class.full_signature: @Override public final ObservableBooleanValue pendingProperty()
focal_class.identifier: pendingProperty
focal_class.modifiers: @Override public final
focal_class.parameters: ()
focal_class.return: ObservableBooleanValue
focal_class.signature: ObservableBooleanValue pendingProperty()
focal_class.class_method_signature: Await.isPending()
focal_class.full_signature: @Override public final boolean isPending()
focal_class.identifier: isPending
focal_class.modifiers: @Override public final
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean isPending()
focal_class.class_method_signature: Await.observeInputs()
focal_class.full_signature: @Override protected final Subscription observeInputs()
focal_class.identifier: observeInputs
focal_class.modifiers: @Override protected final
focal_class.parameters: ()
focal_class.return: Subscription
focal_class.signature: Subscription observeInputs()
focal_class.superclass: extends EventStreamBase<Try<T>>
focal_method.body: public static <T> AwaitingEventStream<Try<T>> awaitCompletionStage(
              EventStream<CompletionStage<T>> source,
              Executor clientThreadExecutor) {
          return new Await<>(
                  source,
                  (future, handler) -> addCompletionHandler(future, handler, clientThreadExecutor));
      }
focal_method.class_method_signature: Await.awaitCompletionStage(
              EventStream<CompletionStage<T>> source,
              Executor clientThreadExecutor)
focal_method.full_signature: public static AwaitingEventStream<Try<T>> awaitCompletionStage(
              EventStream<CompletionStage<T>> source,
              Executor clientThreadExecutor)
focal_method.identifier: awaitCompletionStage
focal_method.invocations: addCompletionHandler
focal_method.modifiers: public static
focal_method.parameters: (
              EventStream<CompletionStage<T>> source,
              Executor clientThreadExecutor)
focal_method.return: AwaitingEventStream<Try<T>>
focal_method.signature: AwaitingEventStream<Try<T>> awaitCompletionStage(
              EventStream<CompletionStage<T>> source,
              Executor clientThreadExecutor)