I've commented the logic out for now, but around line 517, in the by-name-list double click event listener, we are grabbing the node that was double clicked on and making it the new focus node. This focus node is then used as the root node in the Callers and Callees tab. However, before it's used in those tabs, we need to switch its Exc% and Exc columns with the Inc% and Inc columns, since they are in reverse order in all other tabs (look at the table headers/names or the real PerfView for reference). The ISSUE with this is that when you switch those values, they get switched in the by-name-list tree table as well. This is because I'm undesirably holding a pointer to that node instead of a true clone.
I've commented the logic out for now, but around line 517, in the by-name-list double click event listener, we are grabbing the node that was double clicked on and making it the new focus node. This focus node is then used as the root node in the Callers and Callees tab. However, before it's used in those tabs, we need to switch its Exc% and Exc columns with the Inc% and Inc columns, since they are in reverse order in all other tabs (look at the table headers/names or the real PerfView for reference). The ISSUE with this is that when you switch those values, they get switched in the by-name-list tree table as well. This is because I'm undesirably holding a pointer to that node instead of a true clone.