/// <summary>
        /// Jumps to next occurrence.
        /// </summary>
        internal void GotoNextOccurrence()
        {
            if (Occurrences == null)
            {
                return;
            }
            var count = Occurrences.Count();

            if (count == 0)
            {
                return;
            }
            if (mCurrentOccurrenceIndex >= 0)
            {
                ++mCurrentOccurrenceIndex;
                if (mCurrentOccurrenceIndex >= count)
                {
                    mCurrentOccurrenceIndex = 0;
                }
            }
            else
            {
                mCurrentOccurrenceIndex = 0;
            }
            CurrentOccurrence = Occurrences.ElementAt(mCurrentOccurrenceIndex);
        }
        /// <summary>
        /// Jumps to previous occurrence.
        /// </summary>
        internal void GotoPreviousOccurrence()
        {
            if (Occurrences == null)
            {
                return;
            }
            var count = Occurrences.Count();

            if (count == 0)
            {
                return;
            }

            if (mCurrentOccurrenceIndex >= 0)
            {
                --mCurrentOccurrenceIndex;
                if (mCurrentOccurrenceIndex < 0)
                {
                    mCurrentOccurrenceIndex = count - 1;
                }
            }
            else
            {
                mCurrentOccurrenceIndex = count - 1;
            }
            CurrentOccurrence = Occurrences.ElementAt(mCurrentOccurrenceIndex);
        }
        /// <summary>
        /// Jumps to last occurrence.
        /// </summary>
        internal void GotoLastOccurrence()
        {
            if (Occurrences == null)
            {
                return;
            }
            var count = Occurrences.Count();

            if (count == 0)
            {
                return;
            }

            mCurrentOccurrenceIndex = count - 1;

            CurrentOccurrence = Occurrences.ElementAt(mCurrentOccurrenceIndex);
        }