On 24/09/2025 16:37, Remi Forax wrote:
:
- allSuccessfulOrThrow() should return a Joiner<T, List<Subtask<T>>>, so the
result is a List and not a stream.
In terms of implementation, in result(), the code should be
return Collections.unmodifiableList(subtasks);
Can you say more on this? Right now, preferring a stream works well. For
a Joiner returned by allSuccessfulOrThrow it makes it easy to use
join().map(Subtask::get) or other mapping function. Add .toList() to get
a list. When using a Joiner created with allUntil then you may have to
use a collector that partitions the subtasks into those that were
successfull and those that didn't complete successfully.
-Alan