/// <summary>
        /// Activates a policy failure.
        /// </summary>
        /// <param name="failure">The failure to activate.</param>
        public override void Activate(PolicyFailure failure)
        {
            SourceAnalysisPolicyFailure policyFailure = failure as SourceAnalysisPolicyFailure;

            if (policyFailure != null)
            {
                // Create dialog to show the violations
                using (DisplayViolationsDialog dialog = new DisplayViolationsDialog())
                {
                    // Set the violations in the dialog.
                    dialog.Violations = policyFailure.Violations;

                    // Show dialog
                    dialog.ShowDialog();

                    // Check if there is a selected violation
                    if (dialog.SelectedViolation != null)
                    {
                        // There is a selected violation so move to it.
                        ViolationTask.MoveToViolation(dte, dialog.SelectedViolation);
                    }
                }
            }

            base.Activate(failure);
        }
        /// <summary>
        /// Activates a policy failure.
        /// </summary>
        /// <param name="failure">The failure to activate.</param>
        public override void Activate(PolicyFailure failure)
        {
            SourceAnalysisPolicyFailure policyFailure = failure as SourceAnalysisPolicyFailure;

            if (policyFailure != null)
            {
                using (DisplayViolationsDialog dialog = new DisplayViolationsDialog())
                {
                    dialog.Violations = policyFailure.Violations;

                    dialog.ShowDialog();
                }
            }
            var f = failure as ExtendPolicyFailure;

            if (f != null)
            {
                var zz = f.Violation;
                if (this.taskProvider != null)
                {
                    this.taskProvider.GotoError(zz);
                }
            }

            base.Activate(failure);
        }