public PsDlpSensitiveInformationType(RuleDefinitionDetails ruleDefinitionDetails)
 {
     ArgumentValidator.ThrowIfNull("ruleDefinitionDetails", ruleDefinitionDetails);
     ArgumentValidator.ThrowIfCollectionNullOrEmpty <KeyValuePair <string, CLASSIFICATION_DEFINITION_DETAILS> >("LocalizableDetails", ruleDefinitionDetails.LocalizableDetails);
     this.Id                    = ruleDefinitionDetails.RuleId;
     this.Name                  = ruleDefinitionDetails.LocalizableDetails.Values.First <CLASSIFICATION_DEFINITION_DETAILS>().DefinitionName;
     this.Description           = ruleDefinitionDetails.LocalizableDetails.Values.First <CLASSIFICATION_DEFINITION_DETAILS>().Description;
     this.Publisher             = ruleDefinitionDetails.LocalizableDetails.Values.First <CLASSIFICATION_DEFINITION_DETAILS>().PublisherName;
     this.RecommendedConfidence = ruleDefinitionDetails.RecommendedConfidence;
 }
        protected override void InternalProcessRecord()
        {
            base.InternalProcessRecord();
            IClassificationRuleStore instance = InMemoryClassificationRuleStore.GetInstance();
            string locale = CultureInfo.CurrentCulture.ToString().ToLower();

            if (this.Identity != null)
            {
                RuleDefinitionDetails ruleDefinitionDetails = GetDlpSensitiveInformationType.GetRuleDefinitionDetails(instance, this.Identity, locale);
                base.WriteObject(new PsDlpSensitiveInformationType(ruleDefinitionDetails));
                return;
            }
            RULE_PACKAGE_DETAILS[] rulePackageDetails = instance.GetRulePackageDetails(null);
            foreach (RULE_PACKAGE_DETAILS rule_PACKAGE_DETAILS in rulePackageDetails)
            {
                foreach (string identity in rule_PACKAGE_DETAILS.RuleIDs)
                {
                    RuleDefinitionDetails ruleDefinitionDetails2 = GetDlpSensitiveInformationType.GetRuleDefinitionDetails(instance, identity, locale);
                    base.WriteObject(new PsDlpSensitiveInformationType(ruleDefinitionDetails2));
                }
            }
        }