class Concurrent::Promises::ChainPromise
def on_resolvable(resolved_future, index)
def on_resolvable(resolved_future, index) if Future === resolved_future Concurrent.executor(@Executor).post(resolved_future, @Args, @Task) do |future, args, task| evaluate_to(*future.result, *args, task) end else Concurrent.executor(@Executor).post(@Args, @Task) do |args, task| evaluate_to(*args, task) end end end