@Test public void immediateCancelledThrows() throws Exception { doThrow(cause).when(supplier).get(); assertThat(base.thenSupplyCancelledCancelled(supplier), is(new ImmediateFailed<>(caller, cause))); }
Stage<T> thenSupplyCancelledCancelled(final Supplier<? extends T> fn) { try { return new ImmediateCompleted<>(caller, fn.get()); } catch (final Exception e) { return new ImmediateFailed<>(caller, e); } }
AbstractImmediate implements Stage<T> { Stage<T> thenSupplyCancelledCancelled(final Supplier<? extends T> fn) { try { return new ImmediateCompleted<>(caller, fn.get()); } catch (final Exception e) { return new ImmediateFailed<>(caller, e); } } }
AbstractImmediate implements Stage<T> { Stage<T> thenSupplyCancelledCancelled(final Supplier<? extends T> fn) { try { return new ImmediateCompleted<>(caller, fn.get()); } catch (final Exception e) { return new ImmediateFailed<>(caller, e); } }  }
AbstractImmediate implements Stage<T> { Stage<T> thenSupplyCancelledCancelled(final Supplier<? extends T> fn) { try { return new ImmediateCompleted<>(caller, fn.get()); } catch (final Exception e) { return new ImmediateFailed<>(caller, e); } }   }
AbstractImmediate implements Stage<T> { Stage<T> thenSupplyCancelledCancelled(final Supplier<? extends T> fn) { try { return new ImmediateCompleted<>(caller, fn.get()); } catch (final Exception e) { return new ImmediateFailed<>(caller, e); } }    }