public void UpdateTrackTarget(TrackAsset track)
        {
            if (!EditMode.AllowTrackSwitch())
            {
                return;
            }

            targetTrack = track;

            var targetTracksChanged = false;

            foreach (var grabbedItem in movingItems)
            {
                var prevTrackGUI = grabbedItem.targetTrack;

                grabbedItem.SetReferenceTrack(track);

                targetTracksChanged = grabbedItem.targetTrack != prevTrackGUI;
            }

            if (targetTracksChanged)
            {
                EditMode.HandleTrackSwitch(movingItems);
            }

            RefreshPreviewItems();

            m_State.rebuildGraph |= targetTracksChanged;
        }