internal static byte[] PackAndValidateCompressedRulePackage(byte[] uncompressedSerializedRulePackageData, ValidationContext validationContext)
        {
            byte[] array;
            if (!ClassificationDefinitionUtils.TryCompressXmlBytes(uncompressedSerializedRulePackageData, out array))
            {
                throw new ClassificationRuleCollectionStorageException();
            }
            ByteQuantifiedSize value = (ByteQuantifiedSize)DataClassificationConfigSchema.MaxRulePackageSize.DefaultValue;

            if (validationContext != null && validationContext.DcValidationConfig != null)
            {
                value = validationContext.DcValidationConfig.MaxRulePackageSize;
            }
            ByteQuantifiedSize value2 = ByteQuantifiedSize.FromBytes((ulong)((long)array.Length));

            if (value2 > value)
            {
                throw new ClassificationRuleCollectionPayloadSizeExceededLimitException(value2.ToKB(), value.ToKB());
            }
            return(array);
        }