protected override void DoValidate(T objectToValidate, object currentTarget, string key, ValidationResults validationResults) { Type typeBeingValidated = typeof(T); _instrumentationProvider.NotifyConfigurationCalled(typeBeingValidated); try { WrappedValidator.DoValidate(objectToValidate, currentTarget, key, validationResults); if (validationResults.IsValid) { _instrumentationProvider.NotifyValidationSucceeded(typeBeingValidated); } else { _instrumentationProvider.NotifyValidationFailed(typeBeingValidated, validationResults); } } catch (Exception ex) { _instrumentationProvider.NotifyValidationException(typeBeingValidated, ex.Message, ex); throw; } }