private void trigger(TrackMarker marker, TrackMarkerHandler_MarkerState state)
 {
     if (current.compareAndSet(marker, null))
     {
         marker.handler.handle(state);
     }
 }
        /// <summary>
        /// Trigger and remove the marker with the specified state. </summary>
        /// <param name="state"> The state of the marker to pass to the handler. </param>
        public virtual void trigger(TrackMarkerHandler_MarkerState state)
        {
            TrackMarker marker = current.getAndSet(null);

            if (marker != null)
            {
                marker.handler.handle(state);
            }
        }