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

Reply via email to