@Test
public void testMapFutureAsync() throws Exception {

    FutureWithTrigger<Integer> futureWithTrigger = new FutureWithTrigger<>();
    int test = 1;
    Triggerer.triggerValueAsync(10, test, futureWithTrigger);
    int result = futureWithTrigger.getFuture().mapFuture(i -> {
        FutureWithTrigger<Integer> next = new FutureWithTrigger<>();
        Triggerer.triggerValueAsync(10, test + 1, next);
        return next.getFuture();
    }).await();
    assertEquals(test + 1, result);
}