stable_sort(selected_items.begin(), selected_items.end(),
[](const shared_ptr<TraceTreeItem> &a, const shared_ptr<TraceTreeItem> &b) {
return a->visual_v_offset() < b->visual_v_offset(); });
shared_ptr<TraceGroup> group(new TraceGroup());
shared_ptr<TraceTreeItem> mouse_down_item(
stable_sort(selected_items.begin(), selected_items.end(),
[](const shared_ptr<TraceTreeItem> &a, const shared_ptr<TraceTreeItem> &b) {
return a->visual_v_offset() < b->visual_v_offset(); });
shared_ptr<TraceGroup> group(new TraceGroup());
shared_ptr<TraceTreeItem> mouse_down_item(