public void Update(Frame frame)
        {
            if (frame.Camera.TrackingState != this.lastTrackingState ||
                frame.Camera.TrackingFailureReason != this.lastTrackingFailureReason)
            {
                this.lastTrackingState         = frame.Camera.TrackingState;
                this.lastTrackingFailureReason = frame.Camera.TrackingFailureReason;
                Debug.WriteLine($"Tracker state changed: {this.lastTrackingState}, {this.lastTrackingFailureReason}.");
            }

            Task.Run(() => this.spatialAnchorsSession.ProcessFrame(frame));
        }
        /// </inheritdoc>
        public void ProcessFrame(object frame)
        {
            var arFrame = frame as Frame;

            if (arFrame.Camera.TrackingState != this.lastTrackingState ||
                arFrame.Camera.TrackingFailureReason != this.lastTrackingFailureReason)
            {
                this.lastTrackingState         = arFrame.Camera.TrackingState;
                this.lastTrackingFailureReason = arFrame.Camera.TrackingFailureReason;
            }
            Task.Run(() => this.spatialAnchorsSession.ProcessFrame(arFrame));
        }