@Override
  public ParSeqBasedCompletionStage<T> exceptionally(Function<Throwable, ? extends T> fn)
  {
    return nextStageByComposingTask(_task.recover(fn::apply));
  }
@Test
  public void testExceptionally() throws Exception
  {
    AtomicReference<Throwable> exception = new AtomicReference<>();
    CompletionStage<String> stage = createTestFailedStage(EXCEPTION).exceptionally((t) -> {
      exception.set(t);
      return null;
    });
    finish(stage);
    Assert.assertEquals(exception.get(), EXCEPTION);
  }