@Override
  public <U> ParSeqBasedCompletionStage<U> thenApply(Function<? super T, ? extends U> fn)
  {
    return nextStageByComposingTask(_task.map("thenApply", fn::apply));
  }
@Test
  public void testThenApply() throws Exception
  {
    CompletionStage<String> stage2 = createTestStage(TESTVALUE1).thenApply(v -> TESTVALUE2);
    Assert.assertEquals(TESTVALUE2, stage2.toCompletableFuture().get());
  }