<!DOCTYPE html><html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body>
    <div class="moz-cite-prefix">On 16/08/2025 20:23, David Alayachew
      wrote:<br>
    </div>
    <blockquote type="cite" cite="mid:CAA9v-_Pp9q+4TpjBmpKfDDtAZUnZyGXHn7xK1xa-Cob+68Z+dw@mail.gmail.com">
      
      <div dir="ltr">
        <div class="gmail_default" style="font-family:monospace">:<br>
          <br>
          Sure. Let me highlight 5 of them. Let me know if you need more
          examples -- I have about 30+ custom implementations.<br>
        </div>
      </div>
    </blockquote>
    <br>
    Thanks for sharing this selection.<br>
    <br>
    I will guess that #1, #2, and #5 are relatively simpler Joiner
    implementations, is there really any benefit to use composition or
    inheritance here?<br>
    <br>
    For #4 and #5 then its surprising that there is RPC or split/join in
    the onComplete method.  The onComplete method is called with the
    completed subtask and any exception/error executing onComplete isn't
    going to change the subtask status. Is there a reason you've chosen
    to put that code there rather than in the subtasks? (for his API
    then the question as to "where" to put code is a good discussion as
    it may not be always obvious whether to code should execute in the
    subtask, in the Joiner handling subtask completion, or in the main
    task in the processing after join.<br>
    <br>
    -Alan<br>
  </body>
</html>