Able Ability System Info and Support Thread

Also, why does the code of UAblBranchTask ultimately pass the current context ability to the CanBranchTo function? I thought for sure it would pass the desired destination ability. Otherwise having multiple branch tasks within the same ability wouldn’t be distinguishable from each other in the CanBranchTo code. Am I missing something here?