I think for now it is consistently wrong (it always swaps no matter if it finds groups or not), so I can workaround that, as long as it always keep reversing…
it does not always reverse, I think the component hides a pretty complex method to do that calculation in such a fast way, and points are not necessarily processed in the very same order they are input
anyway, the component also gives indexes output, so I think you can sort the output in such a way it respects the input list both branch-wise (earliest member appearing in each branch) and member-wise?