protected override void WriteResult(IConfigurable dataObject)
        {
            IRMConfigurationValidationResult irmconfigurationValidationResult = dataObject as IRMConfigurationValidationResult;

            if (irmconfigurationValidationResult != null)
            {
                base.WriteResult(irmconfigurationValidationResult);
            }
        }
        protected override void InternalProcessRecord()
        {
            base.InternalProcessRecord();
            this.ThrowIfBothSenderAndRmsOnlineParametersSpecified();
            this.ThrowIfNeitherSenderAndRmsOnlineParametersSpecified();
            this.ThrowIfCurrentOrganizationIdIsNull();
            if (this.RMSOnline)
            {
                RMSOnlineValidator rmsonlineValidator = new RMSOnlineValidator(this.ConfigurationSession, (IConfigurationSession)base.DataSession, base.CurrentOrganizationId, this.RMSOnlineOrgOverride, this.RMSOnlineAuthCertSubjectNameOverride);
                this.WriteResult(rmsonlineValidator.Validate());
                return;
            }
            RmsClientManager.ADSession = this.ConfigurationSession;
            IRMConfigurationValidator        irmconfigurationValidator = new IRMConfigurationValidator(new RmsClientManagerContext(base.CurrentOrganizationId, null), this.Sender.Value, this.Recipient);
            IRMConfigurationValidationResult dataObject = irmconfigurationValidator.Validate();

            RmsClientManager.ADSession = null;
            this.WriteResult(dataObject);
        }