@Override
  public <U> ParSeqBasedCompletionStage<U> applyToEither(CompletionStage<? extends T> other, Function<? super T, U> fn)
  {
    return produceEitherStage("applyToEither", other, fn);
  }
@Test
  public void testApplyToEither_Success_Success() throws Exception
  {
    Function<Object, ?> function = mock(Function.class);
    CompletionStage<String> completionStage = createTestStage(TESTVALUE1);
    CompletionStage<String> completionStage2 = createTestStage(TESTVALUE2);
    finish(completionStage.applyToEither(completionStage2, function));
    verify(function, times(1)).apply(any(String.class));
  }