/// <summary>Called after limits check completed.</summary>
        /// <param name="summary">Summary for the run.</param>
        /// <param name="competitionState">State of the run.</param>
        /// <param name="checkPassed"><c>true</c> if competition check passed.</param>
        protected virtual void OnLimitsCheckCompleted(
            Summary summary,
            CompetitionState competitionState, bool checkPassed)
        {
            if (checkPassed)
            {
                return;
            }

            if (competitionState.RunNumber < MaxRerunsIfValidationFailed)
            {
                competitionState.RequestReruns(1, "Limit checking failed.");
            }
        }
        /// <summary>Called after limits check completed.</summary>
        /// <param name="summary">Summary for the run.</param>
        /// <param name="competitionState">State of the run.</param>
        /// <param name="checkPassed"><c>true</c> if competition check passed.</param>
        protected override void OnLimitsCheckCompleted(Summary summary, CompetitionState competitionState, bool checkPassed)
        {
            AnnotateTargets(summary, competitionState);

            if (AdditionalRerunsIfAnnotationsUpdated <= 0 ||
                competitionState.RunNumber <= SkipRunsBeforeApplyingAnnotations)
            {
                base.OnLimitsCheckCompleted(summary, competitionState, checkPassed);
            }
            else if (!checkPassed)
            {
                competitionState.RequestReruns(
                    AdditionalRerunsIfAnnotationsUpdated,
                    "Annotations were updated.");
            }
        }